Skip to content

Commit

Permalink
Covert xTRD sources to UTF8
Browse files Browse the repository at this point in the history
  • Loading branch information
atsidaev committed Feb 21, 2021
1 parent 78fc921 commit 2eb2bee
Show file tree
Hide file tree
Showing 13 changed files with 81 additions and 81 deletions.
4 changes: 2 additions & 2 deletions xTRD/Formats/TELEDISK/td_tools.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,11 @@ WORD calculateCRC16(BYTE* buf, WORD size)
return ((crc&0xff)<<8) | (crc>>8);
}

// ¯¥à¥å®¤ ª á«¥¤ãî饬ã ⮬ã
// переход к следующему тому
bool nextVolume(void)
{
CloseHandle(td);
// ¬¥­ï¥¬ à áè¨à¥­¨¥
// меняем расширение
tdFileName[strlen(tdFileName)-1]++;
td = CreateFile(_W(tdFileName).c_str(),
GENERIC_READ,
Expand Down
4 changes: 2 additions & 2 deletions xTRD/detector.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -217,7 +217,7 @@ Detector::Detector(char* path)
if(noFormats == 255) break;
ptr = skipWS(line);

// ¯à®¯ã᪠¥¬ ¯ãáâë¥ áâப¨ ¨ ª®¬¥­â à¨¨
// пропускаем пустые строки и коментарии
if(!*ptr || *ptr == '#' || *ptr == ';') continue;

if(*ptr == '[')
Expand Down Expand Up @@ -350,7 +350,7 @@ Detector::Detector(char* path)
{
while(*ptr && !(*ptr == ' ' || *ptr == '\t')) ++ptr;
ptr = skipWS(ptr);
if(!*ptr) break; // ª®­ç¨«¨áì ¡ ©â¨ª¨
if(!*ptr) break; // кончились байтики

if(*ptr != '?')
{
Expand Down
6 changes: 3 additions & 3 deletions xTRD/detector.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -31,14 +31,14 @@ class Detector
Detector(char* path);
~Detector();

// ¢®§¢à é ¥â 0xFF ¥á«¨ ⨯ ­¥ ®¯à¥¤¥«¥­
// возвращает 0xFF если тип не определен
BYTE detect (const FileHdr& hdr, const BYTE* secs, int size, char* comment);

void specialChar (BYTE n, char *pos);
void getType (BYTE n, char *pos);
bool getSkipHeader(BYTE n);
// ¢®§¢à é ¥â 0, ¥á«¨
// ᮮ⢥âáâ¢ãî騩 ¯ à ¬¥âà ­¥ § ¤ ­
// возвращает 0, если
// соответствующий параметр не задан
char* description (BYTE n);
private:
BYTE noFormats;
Expand Down
20 changes: 10 additions & 10 deletions xTRD/manager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -77,11 +77,11 @@ void Manager::getOpenPluginInfo(OpenPluginInfo* info)

// C0 - trdos name
// C1 - trdos 'start'
// C2 - à §¬¥à ¢ ᥪâ®à å
// ‘3 - ¤®à®¦ª 
// C4 - ᥪâ®à
// C5 - ®¯¨á ­¨¥ ⨯ 
// C6 - ª®¬¬¥­â à¨© ª ä ©«ã
// C2 - размер в секторах
// С3 - дорожка
// C4 - сектор
// C5 - описание типа
// C6 - комментарий к файлу

mode[3].ColumnTypes="N,C2,N,C2";
mode[3].ColumnWidths="0,3,0,3";
Expand Down Expand Up @@ -206,7 +206,7 @@ void Manager::getOpenPluginInfo(OpenPluginInfo* info)
int Manager::getFindData(PluginPanelItem **pPanelItem, int *pNoItems, int opMode)
{
if(!readInfo()) return FALSE;
// áç¨â ¥¬ ç¨á«® ä ©«®¢ ¨ ª â «®£®¢ ¢ ⥪ã饬 ª â «®£¥
// считаем число файлов и каталогов в текущем каталоге
int noItems;
int noFiles = 0;
int noFolders = 0;
Expand Down Expand Up @@ -238,16 +238,16 @@ int Manager::getFindData(PluginPanelItem **pPanelItem, int *pNoItems, int opMode

if(noItems == 0) return TRUE;

// áç¨â ¥¬ è¨à¨­ã á⮫¡æ  ¤«ï ®â®¡à ¦¥­¨ï trdos'­®£® ¨¬¥­¨
// считаем ширину столбца для отображения trdos'ного имени
int nameColumnWidth = 12;
if((opMode & OPM_FIND) == 0)
{
// ®âªã¤  à áâãâ ­®£¨ ­¥ ¯®­ïâ­®, ­® ¯à¨ ¯®¨áª¥ ä ©«®¢
// ¢­ãâ७­®á⨠if'  ¨­®£¤  à®­ïîâ ¯« £¨­
// откуда растут ноги не понятно, но при поиске файлов
// внутренности if'а иногда роняют плагин
PanelInfo panel;
startupInfo.Control(this, FCTL_GETPANELINFO, &panel);
if(panel.ViewMode == 4)
// 24 - è¨à¨­  ®áâ «ì­ëå ª®«®­®ª, 2 - à ¬ª  ¯ ­¥«¨
// 24 - ширина остальных колонок, 2 - рамка панели
nameColumnWidth = panel.PanelRect.right - panel.PanelRect.left - 2 - 24;
if(nameColumnWidth < 12) nameColumnWidth = 12;
}
Expand Down
14 changes: 7 additions & 7 deletions xTRD/mngr_del.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ void Manager::move(void)
files[i].trk = toTrk;
files[i].sec = toSec;
int noSecs = files[i].noSecs;
// ¯¥à¥­®á¨¬ ä ©«
// переносим файл
for(int j = 0; j < noSecs; ++j)
{
BYTE buf[sectorSize];
Expand Down Expand Up @@ -86,8 +86,8 @@ void Manager::move(void)
{
if(curFolderNum == i+1)
{
curFolderNum = 0; // ¥á«¨ 㤠«¨«¨ ⥪ã騩 ª â «®£
*curFolder = 0; // â® ¯¥à¥å®¤¨¬ ¢ ª®à¥­ì
curFolderNum = 0; // если удалили текущий каталог
*curFolder = 0; // то переходим в корень
}
if(curFolderNum > i+1) --curFolderNum;
for(int j = 0; j < noFiles; ++j)
Expand All @@ -111,13 +111,13 @@ ExitCode Manager::markFolder(int fNum)
{
if(userAction == ASK_USER && !keepSilence)
{
int noItems = 0; // áç¨â ¥¬ ç¨á«® ¢«®¦¥­­ëå ä ©«®¢ ¨ ª â «®£®¢
int noItems = 0; // считаем число вложенных файлов и каталогов
for(int i = 0; i < noFiles; ++i)
if(fileMap[i] == fNum) ++noItems;
for(int i = 0; i < noFolders; ++i)
if(folderMap[i] == fNum) ++noItems;

if(noItems > 0) // ¥á«¨ ª â «®£ ­¥ ¯ãá⮩, â® ...
if(noItems > 0) // если каталог не пустой, то ...
{
char *msgItems[7];
msgItems[0] = getMsg(MDeleteFolder);
Expand Down Expand Up @@ -194,8 +194,8 @@ int Manager::deleteFiles(PluginPanelItem *panelItem, int noItems, int opMode)
return FALSE;
}

// ­¥®¡å®¤¨¬® ¤«ï ª®à४⭮£® ¯¥à¥¬¥é¥­¨ï ä ©«®¢
// ­  ®¤­®¬ ®¡à §¥
// необходимо для корректного перемещения файлов
// на одном образе
readInfo();

keepSilence = opMode & OPM_SILENT;
Expand Down
2 changes: 1 addition & 1 deletion xTRD/mngr_dir.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ int Manager::makeDirectory(char* dirName, int opMode)
FarDialogItem dialogItems[sizeof(items)/sizeof(items[0])];
initDialogItems(items, dialogItems, sizeof(items)/sizeof(items[0]));

// ¥á«¨ ­ ¤® ¯®ª § âì ¤¨ «®£, â® ¯®ª ¦¥¬
// если надо показать диалог, то покажем
if((opMode & OPM_SILENT) == 0)
{
int askCode = startupInfo.Dialog(startupInfo.ModuleNumber,
Expand Down
28 changes: 14 additions & 14 deletions xTRD/mngr_get.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ namespace

HANDLE file;

// ¢á¥ çâ® ­ã¦­® ¤«ï § ¯¨á¨ SCL
// все что нужно для записи SCL
BYTE noFilesWritten;

BYTE* hdrs;
Expand All @@ -33,12 +33,12 @@ namespace

ExitCode createFile(char* name)
{
// ¯à®¢¥à塞 ­ «¨ç¨¥ ä ©« 
// проверяем наличие файла
WIN32_FIND_DATA data;
HANDLE h = FindFirstFile(_W(name).c_str(), &data);
if(h != INVALID_HANDLE_VALUE)
{
// ä ©« á â ª¨¬ ¨¬¥­¥¬ áãé¥áâ¢ã¥â
// файл с таким именем существует
FindClose(h);
if(userAction == SKIP_ALL) return SKIP;
if(userAction == ASK_USER)
Expand Down Expand Up @@ -156,7 +156,7 @@ ExitCode Manager::getFile(int fNum, bool isMove, char* to)
ptr += sectorSize;
bodiesSize += sectorSize;
}
// ®¡à ¡ â뢠¥¬ ¯®á«¥¤­¨© ᥪâ®à å¨âàë¬ ®¡à §®¬
// обрабатываем последний сектор хитрым образом
read(trk, sec, sector);
memcpy(ptr, sector, lastPartSize);
bodiesSize += lastPartSize;
Expand Down Expand Up @@ -186,7 +186,7 @@ ExitCode Manager::getFile(int fNum, bool isMove, char* to)

if(files[fNum].noSecs)
{
// ª®¯¨à㥬 ⥫® ä ©« 
// копируем тело файла
BYTE sector[sectorSize];

int trk = files[fNum].trk, sec = files[fNum].sec;
Expand All @@ -196,14 +196,14 @@ ExitCode Manager::getFile(int fNum, bool isMove, char* to)
if(++sec == 16) { trk++; sec = 0; }
WriteFile(file, sector, sectorSize, &noBytesWritten, NULL);
}
// ®¡à ¡ â뢠¥¬ ¯®á«¥¤­¨© ᥪâ®à å¨âàë¬ ®¡à §®¬
// обрабатываем последний сектор хитрым образом
read(trk, sec, sector);
WriteFile(file, sector, lastPartSize, &noBytesWritten, NULL);
}
CloseHandle(file);
}

// "㤠«ï¥¬" (¥á«¨ ­ ¤®) ãᯥ譮 ᪮¯¨à®¢ ­­ë© ä ©«
// "удаляем" (если надо) успешно скопированный файл
if(isMove && exitCode == OK)
{
if(files[fNum].name[0] != 0x01) ++noDelFiles;
Expand All @@ -224,7 +224,7 @@ ExitCode Manager::getFolder(int fNum, bool isMove, char* to)
addEndSlash(dest);
CreateDirectory(_W(dest).c_str(), NULL);
}
// ª®¯¨à㥬 ¢«®¦¥­­ë¥ ª â «®£¨
// копируем вложенные каталоги
for(int i = 0; i < noFolders; ++i)
if(folderMap[i] == fNum)
{
Expand All @@ -234,7 +234,7 @@ ExitCode Manager::getFolder(int fNum, bool isMove, char* to)
if(code == SKIP) exitCode = SKIP;
}

// ª®¯¨à㥬 ¢«®¦¥­­ë¥ ä ©«ë
// копируем вложенные файлы
for(int i = 0; i < noFiles; ++i)
if(fileMap[i] == fNum)
{
Expand All @@ -243,7 +243,7 @@ ExitCode Manager::getFolder(int fNum, bool isMove, char* to)
if(code == SKIP) exitCode = SKIP;
}

// "㤠«ï¥¬" (¥á«¨ ­ ¤®) ãᯥ譮 ᪮¯¨à®¢ ­­ë© ª â®«®£
// "удаляем" (если надо) успешно скопированный католог
if(isMove && exitCode == OK)
{
if(folders[fNum-1][0] != 0x01) ++noDelFolders;
Expand Down Expand Up @@ -328,7 +328,7 @@ int Manager::getFiles(PluginPanelItem *panelItem,
skipPathnames = false;
keepSilence = opMode & OPM_SILENT;

// ¥á«¨ ­ ¤® ¯®ª § âì ¤¨ «®£, â® ¯®ª ¦¥¬
// если надо показать диалог, то покажем
if(!keepSilence)
{
int askCode = startupInfo.Dialog(startupInfo.ModuleNumber,
Expand All @@ -344,7 +344,7 @@ int Manager::getFiles(PluginPanelItem *panelItem,
skipPathnames = dialogItems[8].Selected;
}

// ¥á«¨ ¯®«ì§®¢ â¥«ì å®ç¥â, ⮠ᮧ¤ ¤¨¬ ª â «®£¨
// если пользователь хочет, то создадим каталоги
if(GetFileAttributes(_W(destPath).c_str())==0xFFFFFFFF)
for(char *c=destPath; *c; c++)
{
Expand Down Expand Up @@ -415,7 +415,7 @@ int Manager::getFiles(PluginPanelItem *panelItem,
for(fNum = 0; fNum < noFiles; ++fNum)
if(!strcmp(panelItem[iNum].FindData.cFileName, pcFiles[fNum].name)) break;

// ¯à®á¬®âà ⥪á⮢ëå ä ©«®¢ ¡¥§ § £®«®¢ª 
// просмотр текстовых файлов без заголовка
if(noItems == 1 && ((opMode & OPM_VIEW) || (opMode & OPM_EDIT)) && pcFiles[fNum].skipHeader) skipHeaders = true;
exitCode = getFile(fNum, isMove, destPath);
}
Expand All @@ -430,7 +430,7 @@ int Manager::getFiles(PluginPanelItem *panelItem,
returnCode = -1;
break;
}
// ¯®¬¥â¨«¨ ä ©«/ª â®«®£ ª ª ãᯥ譮 ᪮¯¨à®¢ ­­ë©
// пометили файл/католог как успешно скопированный
panelItem[iNum].Flags ^= PPIF_SELECTED;
}
startupInfo.RestoreScreen(screen);
Expand Down
24 changes: 12 additions & 12 deletions xTRD/mngr_key.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,7 @@ int Manager::processKey(int key, unsigned int controlState)
switch(isDeleted - isDeletedAfter)
{
case 1:
// ¢®ááâ ­®¢¨«¨ ä ©«
// восстановили файл
noDelFolders--;
break;
case -1:
Expand Down Expand Up @@ -284,7 +284,7 @@ int Manager::processKey(int key, unsigned int controlState)
switch(isDeleted - isDeletedAfter)
{
case 1:
// ¢®ááâ ­®¢¨«¨ ä ©«
// восстановили файл
noDelFiles--;
diskInfo.noDelFiles = noDelFiles;
break;
Expand Down Expand Up @@ -362,12 +362,12 @@ bool Manager::checkEntry(char num, bool del, bool *checked)
int i;

for(i = 0; i < noFolders; i++)
if(folderMap[i]==num)//­ è«¨ ¯®¤ª â «®£ ¢ ⥪ã饬 ª â «®£¥
if(folderMap[i]==num)//нашли подкаталог в текущем каталоге
{
bool isDel = folders[i][0] == 0x01;
if(del && !isDel) return true;//¢ 㤠«ñ­®¬ ª â «®£¥ ­¥ã¤ «ñ­­ë© ¯®¤ª â «®£
if(del && !isDel) return true;//в удалёном каталоге неудалённый подкаталог
checked[i] = true;
if(checkEntry(i + 1, isDel, checked)) return true;//®è¨¡ª  ¢ ¯®¤ª â «®£¥
if(checkEntry(i + 1, isDel, checked)) return true;//ошибка в подкаталоге
}

return false;
Expand All @@ -378,25 +378,25 @@ bool Manager::checkDS(void)
bool checked[127];
int i;

if(noFolders==0) return false; //­¥ç¥£® ¯à®¢¥àïâì
if(noFolders==0) return false; //нечего проверять

for(i=0; i < noFiles; i++)
if(fileMap[i] > noFolders) return true;//ä ©« ¢ ­¥áãé¥áâ¢ãî饬 ª â «®£¥
if(fileMap[i] > noFolders) return true;//файл в несуществующем каталоге

// for(i = 0; i < noFolders; i++)
// if(folderMap[i] > noFolders) return true;//ª â «®£ ¢ ­¥áãé¥áâ¢ãî饬 ª â «®£¥
// if(folderMap[i] > noFolders) return true;//каталог в несуществующем каталоге

for(i = 0; i < noFiles; i++)
if((files[i].name[0] != 0x01) &&
(folders[fileMap[i] - 1][0] == 0x01)) return true;//ä ©« ¢ 㤠«ñ­­®¬ ª â «®£¥
(folders[fileMap[i] - 1][0] == 0x01)) return true;//файл в удалённом каталоге

for(i = 0; i < 127; i++)
checked[i] = false;//­¥â ¯à®¢¥à¥­­ëå ª â «®£®¢
checked[i] = false;//нет проверенных каталогов

if(checkEntry(0, false, checked)) return true;//­ ©¤¥­  ®è¨¡ª 
if(checkEntry(0, false, checked)) return true;//найдена ошибка

for(i = 0; i < noFolders; i++)
if(!checked[i]) return true;//ª â «®£ ­¨ª®¬ã ­¥ ¯à¨­ ¤«¥¦¨â
if(!checked[i]) return true;//каталог никому не принадлежит

return false;
}
Expand Down
Loading

0 comments on commit 2eb2bee

Please sign in to comment.