Compare commits
1 Commits
Author | SHA1 | Date |
---|---|---|
R. Eric Wheeler | a091ba40d4 |
|
@ -1,7 +1,5 @@
|
|||
*.CFG
|
||||
*.CMD
|
||||
*.cmd
|
||||
*.cfg
|
||||
*.old
|
||||
*.OLD
|
||||
*.TXT
|
||||
|
@ -11,12 +9,6 @@
|
|||
*.PPU
|
||||
*.VPI
|
||||
*.vpi
|
||||
*.bak
|
||||
*.o
|
||||
|
||||
SOURCE/ELECOM/
|
||||
SOURCE/UNUSED/
|
||||
src/elecom/
|
||||
src/unused/
|
||||
|
||||
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
[submodule "src/3rdparty/fundamentals"]
|
||||
path = src/3rdparty/fundamentals
|
||||
url = https://github.com/fundamentalslib/fundamentals5
|
||||
[submodule "src/3rdparty/crypt/scrypt"]
|
||||
path = src/3rdparty/crypt/scrypt
|
||||
url = https://github.com/Tarsnap/scrypt.git
|
|
@ -1 +1,7 @@
|
|||
# Renegade BBS
|
||||
# Renegade BBS v1.20.1
|
||||
|
||||
This will be the last update to the DOS version of Renegade BBS.
|
||||
|
||||
Moving forward Renegade will only support Win32/64 and Linux/64.
|
||||
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@ USES
|
|||
|
||||
PROCEDURE ArcDeComp(VAR Ok: Boolean; AType: Byte; CONST FileName,FSpec: AStr);
|
||||
VAR
|
||||
ResultCode: SmallInt;
|
||||
ResultCode: Integer;
|
||||
BEGIN
|
||||
PurgeDir(TempDir+'ARC\',FALSE);
|
||||
ExecBatch(Ok,TempDir+'ARC\',General.ArcsPath+
|
||||
|
@ -48,7 +48,7 @@ END;
|
|||
|
||||
PROCEDURE ArcComp(VAR Ok: Boolean; AType: Byte; CONST FileName,FSpec: AStr);
|
||||
VAR
|
||||
ResultCode: SmallInt;
|
||||
ResultCode: Integer;
|
||||
BEGIN
|
||||
IF (General.FileArcInfo[AType].ArcLine = '') THEN
|
||||
Ok := TRUE
|
||||
|
@ -63,7 +63,7 @@ END;
|
|||
PROCEDURE ArcComment(VAR Ok: Boolean; AType: Byte; CommentNum: Byte; CONST FileName: AStr);
|
||||
VAR
|
||||
TempStr: AStr;
|
||||
ResultCode: SmallInt;
|
||||
ResultCode: Integer;
|
||||
SaveSwapShell: Boolean;
|
||||
BEGIN
|
||||
IF (CommentNum > 0) AND (General.FileArcComment[CommentNum] <> '') THEN
|
||||
|
@ -80,7 +80,7 @@ END;
|
|||
|
||||
PROCEDURE ArcIntegrityTest(VAR Ok: Boolean; AType: Byte; CONST FileName: AStr);
|
||||
VAR
|
||||
ResultCode: SmallInt;
|
||||
ResultCode: Integer;
|
||||
BEGIN
|
||||
IF (General.FileArcInfo[AType].TestLine <> '') THEN
|
||||
ExecBatch(Ok,TempDir+'ARC\',General.ArcsPath+
|
||||
|
@ -205,7 +205,7 @@ VAR
|
|||
ES: ExtStr;
|
||||
Cmd: Char;
|
||||
AType: Byte;
|
||||
ReturnCode: SmallInt;
|
||||
ReturnCode,
|
||||
DirFileRecNum: Integer;
|
||||
DidSomething,
|
||||
Ok: Boolean;
|
||||
|
@ -446,7 +446,7 @@ VAR
|
|||
Cmd: Char;
|
||||
AType,
|
||||
SaveNumBatchDLFiles: Byte;
|
||||
ReturnCode: SmallInt;
|
||||
ReturnCode,
|
||||
GotPts,
|
||||
SaveFileArea: Integer;
|
||||
Ok,
|
|
@ -52,7 +52,7 @@ VAR
|
|||
NumFiles,
|
||||
RecNum,
|
||||
Counter: Byte;
|
||||
Junk: SmallInt;
|
||||
Junk,
|
||||
RN,
|
||||
FArea,
|
||||
SaveFileArea,
|
|
@ -28,7 +28,7 @@ VAR
|
|||
NS: NameStr;
|
||||
ES: ExtStr;
|
||||
AType: Byte;
|
||||
ReturnCode: SmallInt;
|
||||
ReturnCode,
|
||||
DirFileRecNum: Integer;
|
||||
OldSiz,
|
||||
NewSiz: LongInt;
|
|
@ -144,7 +144,7 @@ BEGIN
|
|||
Next := TRUE;
|
||||
END;
|
||||
|
||||
PROCEDURE Details(OutR: OutRec;
|
||||
PROCEDURE Details(Out: OutRec;
|
||||
VAR Level,
|
||||
NumFiles: Integer;
|
||||
VAR TotalCompSize,
|
||||
|
@ -155,12 +155,12 @@ VAR
|
|||
DT: DateTime;
|
||||
Ratio: LongInt;
|
||||
BEGIN
|
||||
OutR.FileName := AllCaps(OutR.FileName);
|
||||
DT.Day := OutR.Date AND $1f; {* Day = bits 4-0 *}
|
||||
DT.Month := (OutR.Date SHR 5) AND $0f; {* Month = bits 8-5 *}
|
||||
DT.Year := ((OutR.Date SHR 9) AND $7f) + 80; {* Year = bits 15-9 *}
|
||||
DT.Min := (OutR.Time SHR 5) AND $3f; {* Minute = bits 10-5 *}
|
||||
DT.Hour := (OutR.Time SHR 11) AND $1f; {* Hour = bits 15-11 *}
|
||||
Out.FileName := AllCaps(Out.FileName);
|
||||
DT.Day := Out.Date AND $1f; {* Day = bits 4-0 *}
|
||||
DT.Month := (Out.Date SHR 5) AND $0f; {* Month = bits 8-5 *}
|
||||
DT.Year := ((Out.Date SHR 9) AND $7f) + 80; {* Year = bits 15-9 *}
|
||||
DT.Min := (Out.Time SHR 5) AND $3f; {* Minute = bits 10-5 *}
|
||||
DT.Hour := (Out.Time SHR 11) AND $1f; {* Hour = bits 15-11 *}
|
||||
|
||||
IF (DT.Month > 12) THEN
|
||||
Dec(DT.Month,12); {* adjust for Month > 12 *}
|
||||
|
@ -173,17 +173,17 @@ BEGIN
|
|||
|
||||
ConvertAmPm(DT.Hour,AmPm);
|
||||
|
||||
IF (OutR.USize = 0) THEN
|
||||
IF (Out.USize = 0) THEN
|
||||
Ratio := 0
|
||||
ELSE {* Ratio is 0% for null-Length file *}
|
||||
Ratio := (100 - ((OutR.CSize * 100) DIV OutR.USize));
|
||||
Ratio := (100 - ((Out.CSize * 100) DIV Out.USize));
|
||||
IF (Ratio > 99) THEN
|
||||
Ratio := 99;
|
||||
|
||||
OutP := '^4'+PadRightStr(FormatNumber(OutR.USize),13)+
|
||||
' '+PadRightStr(FormatNumber(OutR.CSize),13)+
|
||||
OutP := '^4'+PadRightStr(FormatNumber(Out.USize),13)+
|
||||
' '+PadRightStr(FormatNumber(Out.CSize),13)+
|
||||
' '+PadRightInt(Ratio,2)+'%'+
|
||||
' ^9'+MethodType[OutR.Method]+
|
||||
' ^9'+MethodType[Out.Method]+
|
||||
' ^7'+ZeroPad(IntToStr(DT.Month))+
|
||||
'/'+ZeroPad(IntToStr(DT.Day))+
|
||||
'/'+ZeroPad(IntToStr(DT.Year))+
|
||||
|
@ -194,16 +194,16 @@ BEGIN
|
|||
IF (Level > 0) THEN
|
||||
OutP := OutP + PadRightStr('',Level); {* spaces for dirs (ARC only)*}
|
||||
|
||||
OutP := OutP + OutR.FileName;
|
||||
OutP := OutP + Out.FileName;
|
||||
|
||||
PrintACR(OutP);
|
||||
|
||||
IF (OutR.Method = 0) THEN
|
||||
IF (Out.Method = 0) THEN
|
||||
Inc(Level) {* bump dir Level (ARC only) *}
|
||||
ELSE
|
||||
BEGIN
|
||||
Inc(TotalCompSize,OutR.CSize); {* adjust accumulators and counter *}
|
||||
Inc(TotalUnCompSize,OutR.USize);
|
||||
Inc(TotalCompSize,Out.CSize); {* adjust accumulators and counter *}
|
||||
Inc(TotalUnCompSize,Out.USize);
|
||||
Inc(NumFiles);
|
||||
END;
|
||||
END;
|
||||
|
@ -659,7 +659,7 @@ VAR
|
|||
LZH_H_Length,
|
||||
Counter,
|
||||
ArcType: Byte;
|
||||
RCode: SmallInt;
|
||||
RCode,
|
||||
FileType,
|
||||
Level,
|
||||
NumFiles: Integer;
|
|
@ -1,4 +1,3 @@
|
|||
{$MODE TP}
|
||||
{$A+,B-,D-,E-,F+,I-,L-,N-,O+,R-,S+,V-}
|
||||
|
||||
|
||||
|
@ -248,7 +247,7 @@ BEGIN
|
|||
BBSList.Port := 23;
|
||||
MPL(SizeOf(BBSList.Port) - 1);
|
||||
|
||||
InputWordWoc(Question,BBSList.Port,[NumbersOnly,InterActiveEdit],1,65535);
|
||||
InputLongIntWoc(Question,BBSList.Port,[NumbersOnly,InterActiveEdit],1,65535);
|
||||
END
|
||||
ELSE IF WhichOne = 'LOCATION' THEN
|
||||
BEGIN
|
||||
|
@ -312,7 +311,7 @@ BEGIN
|
|||
BEGIN
|
||||
|
||||
MPL(SizeOf(BBSList.SDG) - 1);
|
||||
InputWordWoc(Question,BBSList.SDG,[NumbersOnly,InterActiveEdit],1,65535);
|
||||
InputLongIntWoc(Question,BBSList.SDG,[NumbersOnly,InterActiveEdit],1,65535);
|
||||
{Abort := (BBSList.xE = '');}
|
||||
END
|
||||
ELSE IF WhichOne = 'SDH' THEN
|
|
@ -54,7 +54,7 @@ VAR
|
|||
General.ProtPath := StartDir+'\PROT\';
|
||||
General.ArcsPath := StartDir+'\ARCS\';
|
||||
General.FileAttachPath := StartDir+'\FATTACH\';
|
||||
General.MultPath := StartDir+'\STRING\';
|
||||
General.lMultPath := StartDir+'\STRING\';
|
||||
SaveGeneral(FALSE);
|
||||
Assign(BootFile,StartDir+'1STBOOT');
|
||||
Erase(BootFile);
|
||||
|
@ -92,7 +92,7 @@ VAR
|
|||
END;
|
||||
8 : BEGIN
|
||||
DirDesc := 'STRING';
|
||||
DirName := General.MultPath;
|
||||
DirName := General.lMultPath;
|
||||
END;
|
||||
END;
|
||||
IF (NOT ExistDir(DirName)) THEN
|
||||
|
@ -125,7 +125,7 @@ VAR
|
|||
5 : General.LogsPath := S2;
|
||||
6 : General.ArcsPath := S2;
|
||||
7 : General.ProtPath := S2;
|
||||
8 : General.MultPath := S2;
|
||||
8 : General.lMultPath := S2;
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
|
@ -825,7 +825,7 @@ BEGIN
|
|||
Mov T_Al,Al
|
||||
END;
|
||||
{$ENDIF}
|
||||
{$IFNDEF MSDOS}
|
||||
{$IFDEF WIN32}
|
||||
T_Al := $FF;
|
||||
{$ENDIF}
|
||||
SchareLoaded := (T_Al = $FF);
|
||||
|
@ -859,7 +859,7 @@ VAR
|
|||
END;
|
||||
END;
|
||||
{$ENDIF}
|
||||
{$IFNDEF MSDOS}
|
||||
{$IFDEF WIN32}
|
||||
FUNCTION TrueDosVer(VAR WinNTOk: Boolean): Word;
|
||||
BEGIN
|
||||
WinNtOK := TRUE;
|
||||
|
@ -886,7 +886,7 @@ VAR
|
|||
END;
|
||||
END;
|
||||
{$ENDIF}
|
||||
{$IFNDEF MSDOS}
|
||||
{$IFDEF WIN32}
|
||||
FUNCTION DosVer(VAR Minor,OS2Ver: Word): Word;
|
||||
BEGIN
|
||||
Minor := 0;
|
||||
|
@ -911,7 +911,7 @@ VAR
|
|||
END;
|
||||
END;
|
||||
{$ENDIF}
|
||||
{$IFNDEF MSDOS}
|
||||
{$IFDEF WIN32}
|
||||
FUNCTION Win3_Check_On: Boolean;
|
||||
BEGIN
|
||||
Win3_Check_On := FALSE;
|
||||
|
@ -937,7 +937,7 @@ VAR
|
|||
DV_Check_On := TRUE;
|
||||
END;
|
||||
{$ENDIF}
|
||||
{$IFNDEF MSDOS}
|
||||
{$IFDEF WIN32}
|
||||
FUNCTION DV_Check_On: Boolean;
|
||||
BEGIN
|
||||
DV_Check_On := FALSE;
|
|
@ -1,7 +1,7 @@
|
|||
{$IFDEF WIN32}
|
||||
{$I DEFINES.INC}
|
||||
{$ENDIF}
|
||||
{$MODE TP}
|
||||
|
||||
{$A+,B-,D-,E-,F+,I-,L-,N-,O+,R-,S+,V-}
|
||||
UNIT Bulletin;
|
||||
|
||||
|
@ -498,7 +498,7 @@ VAR
|
|||
BEGIN
|
||||
IF (MenuOption = '') THEN
|
||||
Exit;
|
||||
Assign(StrPointerFile,General.MultPath+MenuOption+'.PTR');
|
||||
Assign(StrPointerFile,General.LMultPath+MenuOption+'.PTR');
|
||||
Reset(StrPointerFile);
|
||||
TotLoad := FileSize(StrPointerFile);
|
||||
IF (TotLoad < 1) THEN
|
||||
|
@ -522,7 +522,7 @@ BEGIN
|
|||
NL;
|
||||
END;
|
||||
TotLoad := 0;
|
||||
Assign(RGStrFile,General.MultPath+MenuOption+'.DAT');
|
||||
Assign(RGStrFile,General.LMultPath+MenuOption+'.DAT');
|
||||
Reset(RGStrFile,1);
|
||||
Seek(RGStrFile,(StrPointer.Pointer - 1));
|
||||
REPEAT
|
||||
|
@ -554,16 +554,16 @@ BEGIN
|
|||
PrintF('QUOTE');
|
||||
InResponseTo := '';
|
||||
MHeader.Status := [];
|
||||
IF (InputMessage(TRUE,FALSE,'New Quote',MHeader,General.MultPath+MenuOption+'.TMP',78,500)) then
|
||||
IF Exist(General.MultPath+MenuOption+'.TMP') THEN
|
||||
IF (InputMessage(TRUE,FALSE,'New Quote',MHeader,General.LMultPath+MenuOption+'.TMP',78,500)) then
|
||||
IF Exist(General.LMultPath+MenuOption+'.TMP') THEN
|
||||
BEGIN
|
||||
Assign(F,General.MultPath+MenuOption+'.NEW');
|
||||
Assign(F,General.LMultPath+MenuOption+'.NEW');
|
||||
Reset(F);
|
||||
IF (IOResult <> 0) THEN
|
||||
ReWrite(F)
|
||||
ELSE
|
||||
Append(F);
|
||||
Assign(F1,General.MultPath+MenuOption+'.TMP');
|
||||
Assign(F1,General.LMultPath+MenuOption+'.TMP');
|
||||
Reset(F1);
|
||||
IF (IOResult <> 0) THEN
|
||||
Exit;
|
||||
|
@ -580,7 +580,7 @@ BEGIN
|
|||
WriteLn(F);
|
||||
Close(F);
|
||||
Close(F1);
|
||||
Kill(General.MultPath+MenuOption+'.TMP');
|
||||
Kill(General.LMultPath+MenuOption+'.TMP');
|
||||
NL;
|
||||
Print('^7Your new quote was saved.');
|
||||
PauseScr(FALSE);
|
|
@ -1,9 +1,8 @@
|
|||
{$IFDEF WIN32}
|
||||
{$I DEFINES.INC}
|
||||
{$ENDIF}
|
||||
{$MODE TP}
|
||||
|
||||
{$A+,B-,D-,E-,F+,I-,L-,N+,O-,R-,S-,V-}
|
||||
{$PACKRECORDS c}
|
||||
|
||||
UNIT Common;
|
||||
|
||||
|
@ -20,14 +19,7 @@ USES
|
|||
CONST
|
||||
StrLen = 119;
|
||||
|
||||
Type
|
||||
BBSVersion = Packed Record
|
||||
Major,
|
||||
Minor,
|
||||
Patch : Byte;
|
||||
OS : Astr;
|
||||
End;
|
||||
|
||||
TYPE
|
||||
MCIFunctionType = FUNCTION(CONST s: AStr; Data1, Data2: Pointer): STRING;
|
||||
|
||||
MemMenuRec = RECORD { Menu Record }
|
||||
|
@ -288,8 +280,8 @@ VAR
|
|||
|
||||
DatFilePath: STRING[40];
|
||||
Interrupt14: Pointer; { far ptr TO interrupt 14 }
|
||||
{$IFDEF LINUX}
|
||||
Ticks: LongInt; {ABSOLUTE $0040:$006C;}
|
||||
{$IFDEF MSDOS}
|
||||
Ticks: LongInt ABSOLUTE $0040:$006C;
|
||||
{$ENDIF}
|
||||
IEMSIRec: IEMSIRecord;
|
||||
FossilPort: Word;
|
||||
|
@ -490,7 +482,6 @@ VAR
|
|||
procedure Sound(hz: Word; duration: Word);
|
||||
function Ticks: LongInt;
|
||||
{$ENDIF}
|
||||
Function GetBBSVersion : BBSVersion;
|
||||
FUNCTION GetC(c: Byte): STRING;
|
||||
PROCEDURE ShowColors;
|
||||
FUNCTION CheckDriveSpace(S,Path: AStr; MinSpace: Integer): Boolean;
|
||||
|
@ -717,7 +708,7 @@ end;
|
|||
FUNCTION UpdateCRC32(CRC: LongInt; VAR Buffer; Len: Word): LongInt; EXTERNAL;
|
||||
{$L CRC32.OBJ }
|
||||
{$ENDIF}
|
||||
{$IFNDEF MSDOS}
|
||||
{$IFDEF WIN32}
|
||||
CONST
|
||||
CRC_32_TAB : array[0..255] of LongInt = (
|
||||
$00000000, $77073096, $ee0e612c, $990951ba, $076dc419,
|
||||
|
@ -787,27 +778,6 @@ BEGIN
|
|||
END;
|
||||
{$ENDIF}
|
||||
|
||||
Function GetBBSVersion : BBSVersion;
|
||||
Var
|
||||
OsType :AStr;
|
||||
TBBSVersionRecord : BBSVersion;
|
||||
Begin
|
||||
|
||||
{$IFDEF UNIX } OsType := 'Unix'; {$ENDIF}
|
||||
{$IFDEF LINUX} OsType := 'Linux'; {$ENDIF}
|
||||
{$IFDEF WIN32} OsType := 'Win32'; {$ENDIF}
|
||||
{$IFDEF WIN64} OsType := 'Win64'; {$ENDIF}
|
||||
{$IFDEF MSDOS} OsType := 'DOS'; {$ENDIF}
|
||||
|
||||
With TBBSVersionRecord Do
|
||||
Major := 2;
|
||||
Minor := 0;
|
||||
Patch := 0;
|
||||
OS := OsType;
|
||||
End;
|
||||
|
||||
End;
|
||||
|
||||
FUNCTION CheckPW: Boolean;
|
||||
BEGIN
|
||||
CheckPW := Common1.CheckPW;
|
||||
|
@ -1216,14 +1186,14 @@ VAR
|
|||
S: STRING;
|
||||
TotLoad: LongInt;
|
||||
BEGIN
|
||||
Assign(StrPointerFile,General.MultPath+'RGSCFGPR.DAT');
|
||||
Assign(StrPointerFile,General.LMultPath+'RGSCFGPR.DAT');
|
||||
Reset(StrPointerFile);
|
||||
Seek(StrPointerFile,StrNum);
|
||||
Read(StrPointerFile,StrPointer);
|
||||
Close(StrPointerFile);
|
||||
LastError := IOResult;
|
||||
TotLoad := 0;
|
||||
Assign(RGStrFile,General.MultPath+'RGSCFGTX.DAT');
|
||||
Assign(RGStrFile,General.LMultPath+'RGSCFGTX.DAT');
|
||||
Reset(RGStrFile,1);
|
||||
Seek(RGStrFile,(StrPointer.Pointer - 1));
|
||||
REPEAT
|
||||
|
@ -1259,14 +1229,14 @@ VAR
|
|||
S: STRING;
|
||||
TotLoad: LongInt;
|
||||
BEGIN
|
||||
Assign(StrPointerFile,General.MultPath+'RGNOTEPR.DAT');
|
||||
Assign(StrPointerFile,General.LMultPath+'RGNOTEPR.DAT');
|
||||
Reset(StrPointerFile);
|
||||
Seek(StrPointerFile,StrNum);
|
||||
Read(StrPointerFile,StrPointer);
|
||||
Close(StrPointerFile);
|
||||
LastError := IOResult;
|
||||
TotLoad := 0;
|
||||
Assign(RGStrFile,General.MultPath+'RGNOTETX.DAT');
|
||||
Assign(RGStrFile,General.LMultPath+'RGNOTETX.DAT');
|
||||
Reset(RGStrFile,1);
|
||||
Seek(RGStrFile,(StrPointer.Pointer - 1));
|
||||
REPEAT
|
||||
|
@ -1302,14 +1272,14 @@ VAR
|
|||
S: STRING;
|
||||
TotLoad: LongInt;
|
||||
BEGIN
|
||||
Assign(StrPointerFile,General.MultPath+'RGMAINPR.DAT');
|
||||
Assign(StrPointerFile,General.LMultPath+'RGMAINPR.DAT');
|
||||
Reset(StrPointerFile);
|
||||
Seek(StrPointerFile,StrNum);
|
||||
Read(StrPointerFile,StrPointer);
|
||||
Close(StrPointerFile);
|
||||
LastError := IOResult;
|
||||
TotLoad := 0;
|
||||
Assign(RGStrFile,General.MultPath+'RGMAINTX.DAT');
|
||||
Assign(RGStrFile,General.LMultPath+'RGMAINTX.DAT');
|
||||
Reset(RGStrFile,1);
|
||||
Seek(RGStrFile,(StrPointer.Pointer - 1));
|
||||
REPEAT
|
||||
|
@ -1345,14 +1315,14 @@ VAR
|
|||
S: STRING;
|
||||
TotLoad: LongInt;
|
||||
BEGIN
|
||||
Assign(StrPointerFile,General.MultPath+'RGLNGPR.DAT');
|
||||
Assign(StrPointerFile,General.LMultPath+'RGLNGPR.DAT');
|
||||
Reset(StrPointerFile);
|
||||
Seek(StrPointerFile,StrNum);
|
||||
Read(StrPointerFile,StrPointer);
|
||||
Close(StrPointerFile);
|
||||
LastError := IOResult;
|
||||
TotLoad := 0;
|
||||
Assign(RGStrFile,General.MultPath+'RGLNGTX.DAT');
|
||||
Assign(RGStrFile,General.LMultPath+'RGLNGTX.DAT');
|
||||
Reset(RGStrFile,1);
|
||||
Seek(RGStrFile,(StrPointer.Pointer - 1));
|
||||
REPEAT
|
||||
|
@ -2147,12 +2117,7 @@ BEGIN
|
|||
|
||||
Com_DeInstall;
|
||||
|
||||
{$IFDEF FPC}
|
||||
cursoron;
|
||||
{$ELSE}
|
||||
CursorOn(TRUE);
|
||||
{$ENDIF}
|
||||
|
||||
CursorOn(TRUE);
|
||||
|
||||
SwapVectors;
|
||||
|
||||
|
@ -2436,7 +2401,7 @@ BEGIN
|
|||
Dec(Year);
|
||||
AgeUser := Year;
|
||||
END;
|
||||
{$IFNDEF LINUX}
|
||||
|
||||
FUNCTION AllCaps(InString: STRING): STRING;
|
||||
VAR
|
||||
Counter: Byte;
|
||||
|
@ -2446,12 +2411,7 @@ BEGIN
|
|||
InString[Counter] := Chr(Ord(InString[Counter]) - Ord('a')+Ord('A'));
|
||||
AllCaps := InString;
|
||||
END;
|
||||
{$ELSE}
|
||||
Function AllCaps(InString: String): String;
|
||||
Begin
|
||||
AllCaps := InString;
|
||||
End;
|
||||
{$ENDIF}
|
||||
|
||||
FUNCTION Caps(Instring: STRING): STRING;
|
||||
VAR
|
||||
Counter: Integer; { must be Integer }
|
||||
|
@ -3152,7 +3112,7 @@ ASM
|
|||
POP ds
|
||||
END;
|
||||
{$ENDIF}
|
||||
{$IFNDEF MSDOS}
|
||||
{$IFDEF WIN32}
|
||||
FUNCTION AOnOff(b: Boolean; CONST s1,s2:AStr): STRING;
|
||||
BEGIN
|
||||
if (b) then
|
||||
|
@ -3600,7 +3560,7 @@ BEGIN
|
|||
LIL := 0;
|
||||
TempPause := SaveTempPause;
|
||||
END;
|
||||
{$IFNDEF LINUX}
|
||||
|
||||
FUNCTION BSlash(InString: AStr; b: Boolean): AStr;
|
||||
BEGIN
|
||||
IF (b) THEN
|
||||
|
@ -3615,22 +3575,6 @@ BEGIN
|
|||
Dec(InString[0]);
|
||||
BSlash := Instring;
|
||||
END;
|
||||
{$ELSE}
|
||||
Function BSlash(InString: Astr; b: Boolean): Astr;
|
||||
Begin
|
||||
IF (b) THEN
|
||||
BEGIN
|
||||
WHILE (Copy(InString,(Length(InString) - 1),2) = '//') DO
|
||||
InString := Copy(Instring,1,(Length(InString) - 2));
|
||||
IF (Copy(InString,Length(InString),1) <> '/') THEN
|
||||
InString := InString + '/';
|
||||
END
|
||||
ELSE
|
||||
WHILE (InString[Length(InString)] = '/') DO
|
||||
Dec(InString[0]);
|
||||
BSlash := Instring;
|
||||
End;
|
||||
{$ENDIF}
|
||||
|
||||
FUNCTION Exist(FileName: AStr): Boolean;
|
||||
VAR
|
||||
|
@ -3649,7 +3593,6 @@ BEGIN
|
|||
ExistDir := (DOSError = 0) AND (DirInfo1.Attr AND $10 = $10);
|
||||
END;
|
||||
|
||||
|
||||
PROCEDURE PrintFile(FileName: AStr);
|
||||
VAR
|
||||
s: AStr;
|
||||
|
@ -4244,7 +4187,7 @@ BEGIN
|
|||
REPEAT
|
||||
TempDirPath := DirPath;
|
||||
Changed := FALSE;
|
||||
InputWN1(DisplayStr,TempDirPath,39,[InterActiveEdit],Changed);
|
||||
InputWN1(DisplayStr,TempDirPath,39,[UpperOnly,InterActiveEdit],Changed);
|
||||
TempDirPath := SQOutSp(TempDirPath);
|
||||
|
||||
IF (Length(TempDirPath) = 1) THEN
|
||||
|
@ -4262,7 +4205,6 @@ BEGIN
|
|||
NL;
|
||||
Print('^7A valid path must be specified!^1');
|
||||
END
|
||||
{$IFNDEF LINUX}
|
||||
ELSE IF (NOT (TempDirPath[1] IN ['A'..'Z'])) OR (Length(TempDirPath) < 3) OR
|
||||
(NOT (TempDirPath[2] = ':')) OR (NOT (TempDirPath[3] = '\')) THEN
|
||||
BEGIN
|
||||
|
@ -4270,9 +4212,8 @@ BEGIN
|
|||
Print('^7Invalid drive specification: "'+Copy(TempDirPath,1,3)+'"^1');
|
||||
TempDirPath := '';
|
||||
END
|
||||
{$ENDIF}
|
||||
ELSE
|
||||
BEGIN {$IFNDEF LINUX}
|
||||
BEGIN
|
||||
GetDir(0,CurDir);
|
||||
ChDir(TempDirPath[1]+':');
|
||||
IF (IOResult <> 0) THEN
|
||||
|
@ -4282,7 +4223,6 @@ BEGIN
|
|||
TempDirPath := '';
|
||||
END
|
||||
ELSE
|
||||
{$ENDIF}
|
||||
BEGIN
|
||||
ChDir(CurDir);
|
||||
IF (CreateDir) THEN
|
||||
|
@ -4778,21 +4718,11 @@ BEGIN
|
|||
'T' : Add := CurrentConf;
|
||||
'+' : BEGIN
|
||||
Add := '';
|
||||
{$IFDEF FPC}
|
||||
cursoron;
|
||||
{$ELSE}
|
||||
CursorOn(TRUE);
|
||||
{$ENDIF}
|
||||
|
||||
CursorOn(TRUE);
|
||||
END;
|
||||
'-' : BEGIN
|
||||
Add := '';
|
||||
{$IFDEF FPC}
|
||||
cursoroff;
|
||||
{$ELSE}
|
||||
CursorOn(TRUE);
|
||||
{$ENDIF}
|
||||
|
||||
CursorOn(FALSE);
|
||||
END;
|
||||
END;
|
||||
'D' : CASE UpCase(S[Index + 2]) OF
|
||||
|
@ -4942,7 +4872,7 @@ BEGIN
|
|||
'P' : CASE UpCase(S[Index + 2]) OF
|
||||
'1' : Add := General.MsgPath;
|
||||
'2' : Add := General.NodePath;
|
||||
'3' : Add := General.MultPath;
|
||||
'3' : Add := General.LMultPath;
|
||||
'4' : Add := General.SysOpPW;
|
||||
'5' : Add := General.NewUserPW;
|
||||
'6' : Add := General.MinBaudOverride;
|
|
@ -1,7 +1,7 @@
|
|||
{$IFDEF WIN32}
|
||||
{$I DEFINES.INC}
|
||||
{$ENDIF}
|
||||
{$MODE TP}
|
||||
|
||||
{$A+,B-,D+,E-,F+,I-,L+,N-,O+,R-,S-,V-}
|
||||
|
||||
UNIT Common1;
|
|
@ -162,7 +162,6 @@ CONST
|
|||
|
||||
{$IFDEF MSDOS}
|
||||
PROCEDURE BiosScroll(up: Boolean); ASSEMBLER;
|
||||
{$ASMMODE intel}
|
||||
ASM
|
||||
Mov cx,0
|
||||
Mov dh,MaxDisplayRows
|
||||
|
@ -293,14 +292,17 @@ BEGIN
|
|||
SecondRow := (FirstRow + 1);
|
||||
TextAttr := 120;
|
||||
LastScreenSwap := 0;
|
||||
{ CursorOn(FALSE);}
|
||||
CursorOn(FALSE);
|
||||
Clear_Status_Box;
|
||||
IF (WhichScreen < 99) THEN
|
||||
General.CurWindow := WhichScreen;
|
||||
CASE WhichScreen OF
|
||||
1 : WITH ThisUser DO
|
||||
BEGIN
|
||||
{$IFNDEF MSDOS}
|
||||
{$IFDEF MSDOS}
|
||||
Update_Logo(Win1,ScreenAddr[(FirstRow - 1) * 160],WIN1_LENGTH);
|
||||
{$ENDIF}
|
||||
{$IFDEF WIN32}
|
||||
Update_Logo(Win1, 1, FirstRow, WIN1_LENGTH);
|
||||
{$ENDIF}
|
||||
GoToXY(02,FirstRow);
|
||||
|
@ -526,7 +528,7 @@ BEGIN
|
|||
Window(1,3,MaxDisplayCols,MaxDisplayRows)
|
||||
ELSE
|
||||
Window(1,1,MaxDisplayCols,MaxDisplayRows - 2);
|
||||
CursorOn;
|
||||
CursorOn(TRUE);
|
||||
IF (NOT SaveWindowOn) THEN
|
||||
ToggleWindow(FALSE);
|
||||
GoToXY(SaveWhereX,SaveWhereY);
|
||||
|
@ -547,7 +549,7 @@ VAR
|
|||
SaveWhereX,
|
||||
SaveWhereY,
|
||||
SaveTextAttr: Byte;
|
||||
RetCode: SmallInt;
|
||||
RetCode,
|
||||
i: Integer;
|
||||
SaveTimer: LongInt;
|
||||
SaveInChat: Boolean;
|
||||
|
@ -603,19 +605,11 @@ BEGIN
|
|||
{$IFDEF WIN32}
|
||||
Update_Logo(SYSKEY, 1, 1, SYSKEY_LENGTH);
|
||||
{$ENDIF}
|
||||
{$IFDEF FPC}
|
||||
cursoron;
|
||||
{$ELSE}
|
||||
CursorOn(FALSE);
|
||||
{$ENDIF}
|
||||
CursorOn(FALSE);
|
||||
C := ReadKey;
|
||||
IF (C = #0) THEN
|
||||
C := ReadKey;
|
||||
{$IFDEF FPC}
|
||||
cursoron;
|
||||
{$ELSE}
|
||||
CursorOn(TRUE);
|
||||
{$ENDIF}
|
||||
RemoveWindow(Wind);
|
||||
GoToXY(SaveWhereX,SaveWhereY);
|
||||
Update_Screen;
|
||||
|
@ -856,21 +850,12 @@ CursorOn(FALSE);
|
|||
Window(1,1,MaxDisplayCols,MaxDisplayRows);
|
||||
ClrScr;
|
||||
WantOut := FALSE;
|
||||
{$IFDEF FPC}
|
||||
cursoron;
|
||||
{$ELSE}
|
||||
CursorOn(FALSE);
|
||||
{$ENDIF}
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
WantOut := TRUE;
|
||||
{$IFDEF FPC}
|
||||
cursoron;
|
||||
{$ELSE}
|
||||
CursorOn(FALSE);
|
||||
{$ENDIF}
|
||||
|
||||
CursorOn(TRUE);
|
||||
WriteLn('Local display on.');
|
||||
Update_Screen;
|
||||
END;
|
||||
|
@ -1118,13 +1103,7 @@ VAR
|
|||
END;
|
||||
Write(' ');
|
||||
TextBackGround(0);
|
||||
{$IFDEF FPC}
|
||||
cursoron;
|
||||
{$ELSE}
|
||||
CursorOn(i IN [1..4]);
|
||||
{$ENDIF}
|
||||
|
||||
|
||||
CursorOn(i IN [1..4]);
|
||||
IF (b) THEN
|
||||
BEGIN
|
||||
GoToXY(26,12);
|
||||
|
@ -1148,11 +1127,7 @@ VAR
|
|||
VAR
|
||||
Counter: Byte;
|
||||
BEGIN
|
||||
{$IFDEF FPC}
|
||||
cursoroff;
|
||||
{$ELSE}
|
||||
CursorOn(FALSE);
|
||||
{$ENDIF}
|
||||
TextColor(9);
|
||||
Box(1,18,6,68,13);
|
||||
Window(19,7,67,12);
|
||||
|
@ -1329,11 +1304,7 @@ BEGIN
|
|||
UNTIL (Done);
|
||||
GoToXY(SaveWhereX,SaveWhereY);
|
||||
TextAttr := SaveTextAttr;
|
||||
{$IFDEF FPC}
|
||||
cursoron;
|
||||
{$ELSE}
|
||||
CursorOn(TRUE);
|
||||
{$ENDIF}
|
||||
NewCompTables;
|
||||
SaveURec(ThisUser,UserNum);
|
||||
END;
|
|
@ -1,7 +1,7 @@
|
|||
{$IFDEF WIN32}
|
||||
{$I DEFINES.INC}
|
||||
{$ENDIF}
|
||||
{$MODE TP}
|
||||
|
||||
{$A+,B-,D+,E-,F+,I-,L+,N-,O+,R-,S-,V-,X-}
|
||||
|
||||
UNIT Common3;
|
||||
|
@ -345,7 +345,6 @@ VAR
|
|||
END;
|
||||
|
||||
{$IFDEF MSDOS}
|
||||
|
||||
PROCEDURE SetCursor(InsertMode: Boolean); ASSEMBLER;
|
||||
ASM
|
||||
cmp InsertMode,0
|
||||
|
@ -361,23 +360,15 @@ VAR
|
|||
int 10h
|
||||
END;
|
||||
{$ENDIF}
|
||||
{$IFNDEF MSDOS}
|
||||
{$IFDEF WIN32}
|
||||
PROCEDURE SetCursor(InsertMode: Boolean);
|
||||
BEGIN
|
||||
if (InsertMode) then
|
||||
begin
|
||||
{$IFDEF FPC}
|
||||
cursoron;
|
||||
{$ELSE}
|
||||
RPInsertCursor;
|
||||
{$ENDIF}
|
||||
end else
|
||||
begin
|
||||
{$IFDEF FPC}
|
||||
cursorbig;
|
||||
{$ELSE}
|
||||
RPBlockCursor;
|
||||
{$ENDIF}
|
||||
end;
|
||||
END;
|
||||
{$ENDIF}
|
|
@ -1,7 +1,7 @@
|
|||
{$IFDEF WIN32}
|
||||
{$I DEFINES.INC}
|
||||
{$ENDIF}
|
||||
{$MODE TP}
|
||||
|
||||
{$A+,B-,D+,E-,F+,I-,L+,N-,O+,R-,S-,V-}
|
||||
|
||||
(*
|
||||
|
@ -353,7 +353,7 @@ IMPLEMENTATION
|
|||
USES
|
||||
Crt,
|
||||
Common
|
||||
{$IFDEF WINDOWS}
|
||||
{$IFDEF WIN32}
|
||||
,EleNorm
|
||||
{$ENDIF}
|
||||
;
|
||||
|
@ -377,8 +377,7 @@ PROCEDURE Com_Flush_Recv;
|
|||
BEGIN
|
||||
IF (NOT LocalIOOnly) THEN
|
||||
BEGIN
|
||||
{$IFDEF LINUX}
|
||||
{$ASMMODE intel}
|
||||
{$IFDEF MSDOS}
|
||||
ASM
|
||||
Cmp InWfcMenu,1
|
||||
Je @TheEnd
|
||||
|
@ -419,9 +418,8 @@ the output buffer (not transmitted yet) is discarded.
|
|||
|
||||
PROCEDURE Com_Purge_Send;
|
||||
BEGIN
|
||||
{$IFDEF LINUX}
|
||||
{$ASMMODE intel}
|
||||
ASM
|
||||
{$IFDEF MSDOS}
|
||||
ASM
|
||||
Cmp LocalIOOnly,1
|
||||
Je @TheEnd
|
||||
Mov AH,09h
|
||||
|
@ -466,8 +464,7 @@ VAR
|
|||
Dummy: Byte;
|
||||
BEGIN
|
||||
Dummy := 0; (* New *)
|
||||
{$IFDEF LINUX}
|
||||
{$ASMMODE intel}
|
||||
{$IFDEF MSDOS}
|
||||
ASM
|
||||
Cmp LocalIOOnly,1
|
||||
Je @TheEnd
|
||||
|
@ -521,8 +518,7 @@ VAR
|
|||
BEGIN
|
||||
Com_Recv := #0;
|
||||
T_RecvChar := FALSE;
|
||||
{$IFDEF LINUX}
|
||||
{$ASMMODE intel}
|
||||
{$IFDEF MSDOS}
|
||||
ASM
|
||||
Cmp LocalIOOnly,1
|
||||
Je @TheEnd
|
||||
|
@ -595,8 +591,7 @@ VAR
|
|||
Dummy: Byte;
|
||||
BEGIN
|
||||
Dummy := 0; (* New *)
|
||||
{$IFDEF LINUX}
|
||||
{$ASMMODE intel}
|
||||
{$IFDEF MSDOS}
|
||||
ASM
|
||||
Cmp LocalIOOnly,1
|
||||
Je @TheEnd
|
||||
|
@ -648,8 +643,7 @@ VAR
|
|||
{$ENDIF}
|
||||
BEGIN
|
||||
Dummy := 0; (* New *)
|
||||
{$IFDEF LINUX}
|
||||
{$ASMMODE intel}
|
||||
{$IFDEF MSDOS}
|
||||
ASM
|
||||
Cmp LocalIOOnly,1
|
||||
Je @TheEnd
|
||||
|
@ -686,8 +680,7 @@ value of 0000h is returned in AX. If the driver accepts the character
|
|||
|
||||
PROCEDURE Com_Send(C: Char);
|
||||
BEGIN
|
||||
{$IFDEF LINUX}
|
||||
{$ASMMODE intel}
|
||||
{$IFDEF MSDOS}
|
||||
ASM
|
||||
Cmp LocalIOOnly,1
|
||||
Je @TheEnd
|
||||
|
@ -780,8 +773,7 @@ BEGIN
|
|||
T_AL := 32;
|
||||
END;
|
||||
Inc(T_AL,3);
|
||||
{$IFDEF LINUX}
|
||||
{$ASMMODE intel}
|
||||
{$IFDEF MSDOS}
|
||||
ASM
|
||||
Mov AH,00h
|
||||
Mov AL,T_AL
|
||||
|
@ -809,8 +801,7 @@ PROCEDURE Com_DeInstall;
|
|||
BEGIN
|
||||
IF (NOT LocalIOOnly) THEN
|
||||
BEGIN
|
||||
{$IFDEF LINUX}
|
||||
{$ASMMODE intel}
|
||||
{$IFDEF MSDOS}
|
||||
ASM
|
||||
Mov AH,05h
|
||||
Mov DX,FossilPort
|
||||
|
@ -831,8 +822,7 @@ END;
|
|||
|
||||
PROCEDURE Com_Install;
|
||||
|
||||
{$IFDEF LINUX}
|
||||
{$ASMMODE intel}
|
||||
{$IFDEF MSDOS}
|
||||
FUNCTION DriverInstalled: Word; ASSEMBLER;
|
||||
ASM
|
||||
Mov AH,5
|
||||
|
@ -855,8 +845,7 @@ BEGIN
|
|||
FossilPort := (Liner.Comport - 1);
|
||||
IF (LocalIOOnly) THEN
|
||||
Exit;
|
||||
{$IFDEF LINUX}
|
||||
{$ASMMODE intel}
|
||||
{$IFDEF MSDOS}
|
||||
IF (DriverInstalled <> $1954) THEN
|
||||
BEGIN
|
||||
ClrScr;
|
||||
|
@ -892,8 +881,7 @@ BEGIN
|
|||
Com_Set_Speed(Liner.InitBaud);
|
||||
END;
|
||||
|
||||
{$IFDEF LINUX}
|
||||
{$ASMMODE intel}
|
||||
{$IFDEF MSDOS}
|
||||
PROCEDURE CheckHangup; ASSEMBLER;
|
||||
ASM
|
||||
Cmp LocalIOOnly,1
|
||||
|
@ -947,8 +935,7 @@ VAR
|
|||
BEGIN
|
||||
IF (OutCom) THEN
|
||||
BEGIN
|
||||
{$IFDEF LINUX}
|
||||
{$ASMMODE intel}
|
||||
{$IFDEF MSDOS}
|
||||
REPEAT
|
||||
T_DI := OFS(S[1]);
|
||||
T_CX := Length(S);
|
||||
|
@ -1004,8 +991,7 @@ BEGIN
|
|||
Empty := NOT KeyPressed;
|
||||
IF (InCom) AND (NOT KeyPressed) THEN
|
||||
BEGIN
|
||||
{$IFDEF LINUX}
|
||||
{$ASMMODE intel}
|
||||
{$IFDEF MSDOS}
|
||||
ASM
|
||||
Mov DX,FossilPort
|
||||
Mov AH,03h
|
||||
|
@ -1041,8 +1027,7 @@ BEGIN
|
|||
IF (NOT LocalIOOnly) THEN
|
||||
BEGIN
|
||||
T_AL := Byte(Status);
|
||||
{$IFDEF LINUX}
|
||||
{$ASMMODE intel}
|
||||
{$IFDEF MSDOS}
|
||||
ASM
|
||||
Mov AH,06h
|
||||
Mov DX,FossilPort
|
|
@ -26,7 +26,7 @@ VAR
|
|||
|
||||
PROCEDURE CStuff(Which,How: Byte; VAR User: UserRecordType);
|
||||
VAR
|
||||
Trys: Byte;
|
||||
Try: Byte;
|
||||
Done,
|
||||
Done1: Boolean;
|
||||
|
||||
|
@ -336,10 +336,10 @@ VAR
|
|||
BEGIN
|
||||
NL;
|
||||
Print(^G'^7Sorry, can''t use that name.^1');
|
||||
Inc(Trys);
|
||||
Inc(Try);
|
||||
sl1('Unacceptable Name : '+s);
|
||||
END;
|
||||
IF (Trys >= 3) AND (How = 1) THEN
|
||||
IF (Try >= 3) AND (How = 1) THEN
|
||||
HangUp := TRUE;
|
||||
|
||||
IF ((Done) AND (How = 1) AND (NOT General.AllowAlias)) THEN
|
||||
|
@ -1011,7 +1011,7 @@ VAR
|
|||
END;
|
||||
|
||||
BEGIN
|
||||
Trys := 0;
|
||||
Try := 0;
|
||||
Done1 := FALSE;
|
||||
CASE How OF
|
||||
1 : REPEAT
|
|
@ -689,7 +689,7 @@ END;
|
|||
PROCEDURE DoDoorFunc(DropFileType: Char; MenuOption: Str50);
|
||||
VAR
|
||||
Answer: AStr;
|
||||
ReturnCode: SmallInt;
|
||||
ReturnCode: Integer;
|
||||
DoorTime: LongInt;
|
||||
UseRealName: Boolean;
|
||||
BEGIN
|
|
@ -16,12 +16,12 @@ PROCEDURE ExecWindow(VAR Ok: Boolean;
|
|||
CONST Dir,
|
||||
BatLine: AStr;
|
||||
OkLevel: Integer;
|
||||
VAR RCode: SmallInt);
|
||||
VAR RCode: Integer);
|
||||
PROCEDURE ExecBatch(VAR Ok: Boolean;
|
||||
Dir,
|
||||
BatLine: AStr;
|
||||
OkLevel: Integer;
|
||||
VAR RCode: SmallInt;
|
||||
VAR RCode: Integer;
|
||||
Windowed: Boolean);
|
||||
PROCEDURE Shel(CONST s: AStr);
|
||||
PROCEDURE Shel2(x: Boolean);
|
||||
|
@ -54,7 +54,7 @@ PROCEDURE ExecWindow(VAR Ok: Boolean;
|
|||
CONST Dir,
|
||||
BatLine: AStr;
|
||||
OkLevel: Integer;
|
||||
VAR RCode: SmallInt);
|
||||
VAR RCode: Integer);
|
||||
VAR
|
||||
SaveWindowOn: Boolean;
|
||||
SaveCurWindow: Byte;
|
||||
|
@ -156,7 +156,7 @@ PROCEDURE ExecBatch(VAR Ok: Boolean; { result }
|
|||
Dir: AStr; { directory takes place in }
|
||||
BatLine: AStr; { .BAT file line to execute }
|
||||
OkLevel: Integer; { DOS errorlevel for success }
|
||||
VAR RCode: SmallInt; { errorlevel returned }
|
||||
VAR RCode: Integer; { errorlevel returned }
|
||||
Windowed: Boolean); { Windowed? }
|
||||
VAR
|
||||
BatchFile: Text;
|
|
@ -229,7 +229,7 @@ BEGIN
|
|||
BEGIN
|
||||
NL;
|
||||
IF (NOT CopyMoveFile(NOT (IsFileAttach IN TransferFlags),
|
||||
AOnOff(IsFileAttach IN TransferFlags,'^1Moving ... ','^1Copying ... '),
|
||||
+AOnOff(IsFileAttach IN TransferFlags,'^1Moving ... ','^1Copying ... '),
|
||||
DownloadPath+SQOutSp(FileInfo.FileName),
|
||||
CopyPath+SQOutSp(FileInfo.FileName),TRUE)) THEN
|
||||
Include(TransferFlags,IsPaused);
|
||||
|
@ -1470,7 +1470,7 @@ BEGIN
|
|||
END;
|
||||
|
||||
TempStr := TempStr + AOnOff(ShowScan AND NewScanFileArea,'0'+ScanChar[1],' ')+
|
||||
PadLeftStr(PadRightStr('1'+IntToStr(CompFileArea(FArea,0)),5)
|
||||
PadLeftStr(PadRightStr('1'+IntToStr(CompFileArea(FArea,0)),5)+
|
||||
+'2 '+MemFileArea.AreaName,37)+' ';
|
||||
Inc(NumOnline);
|
||||
IF (NumOnLine = 2) THEN
|
|
@ -1,7 +1,7 @@
|
|||
{$IFDEF WIN32}
|
||||
{$I DEFINES.INC}
|
||||
{$ENDIF}
|
||||
{$MODE TP}
|
||||
|
||||
{$A+,B-,D+,E-,F+,I-,L+,N-,O+,R-,S+,V-}
|
||||
|
||||
UNIT File11;
|
||||
|
@ -648,7 +648,7 @@ END;
|
|||
|
||||
PROCEDURE SearchFileAreaSpec(FArea: Integer; FName: Str12; VAR FArrayRecNum: Byte);
|
||||
VAR
|
||||
DirFileRecNum: LongInt;
|
||||
DirFileRecNum: Integer;
|
||||
Found: Boolean;
|
||||
BEGIN
|
||||
IF (FileArea <> FArea) THEN
|
||||
|
@ -776,7 +776,7 @@ PROCEDURE SearchFileAreaDescription(FArea: Integer; SearchString: Str20; VAR FAr
|
|||
VAR
|
||||
LineNum,
|
||||
NumExtDesc: Byte;
|
||||
DirFileRecNum: LongInt;
|
||||
DirFileRecNum: Integer;
|
||||
SearchStringFound,
|
||||
Found: Boolean;
|
||||
BEGIN
|
||||
|
@ -902,7 +902,7 @@ END;
|
|||
|
||||
PROCEDURE NewFileScan(FArea: Integer; Global: Boolean; VAR FArrayRecNum: Byte);
|
||||
VAR
|
||||
DirFileRecNum: LongInt;
|
||||
DirFileRecNum: Integer;
|
||||
Found: Boolean;
|
||||
BEGIN
|
||||
IF (FileArea <> FArea) THEN
|
||||
|
@ -1014,9 +1014,9 @@ PROCEDURE FileAreaChange(VAR Done: Boolean; CONST MenuOption: Str50);
|
|||
VAR
|
||||
InputStr: Str5;
|
||||
Cmd: Char;
|
||||
SaveFArea: Integer;
|
||||
FArea,
|
||||
NumFAreas: LongInt;
|
||||
SaveFArea,
|
||||
NumFAreas: Integer;
|
||||
SaveTempPause: Boolean;
|
||||
BEGIN
|
||||
IF (MenuOption <> '') THEN
|
|
@ -1,7 +1,7 @@
|
|||
{$IFDEF WIN32}
|
||||
{$I DEFINES.INC}
|
||||
{$ENDIF}
|
||||
{$MODE TP}
|
||||
|
||||
{$A+,B-,D+,E-,F+,I-,L+,N-,O+,R-,S+,V-}
|
||||
|
||||
UNIT File12;
|
||||
|
@ -370,9 +370,9 @@ VAR
|
|||
ProtocolNumber,
|
||||
SaveFArea,
|
||||
SaveFileArea,
|
||||
TempBULVTextSize: Integer;
|
||||
NumFAreas,
|
||||
FArea,
|
||||
TempBULVTextSize: Integer;
|
||||
TempVPointer,
|
||||
RecNum,
|
||||
RecNum1,
|
||||
|
@ -387,7 +387,7 @@ VAR
|
|||
|
||||
PROCEDURE UpFile;
|
||||
VAR
|
||||
GotPts: LongInt;
|
||||
GotPts: Integer;
|
||||
ConversionTime: LongInt;
|
||||
ArcOk,
|
||||
Convt: Boolean;
|
|
@ -15,7 +15,7 @@ PROCEDURE ExecProtocol(TextFN,
|
|||
Dir,
|
||||
BatLine: AStr;
|
||||
OKLevel: Integer;
|
||||
VAR ReturnCode: SmallInt;
|
||||
VAR ReturnCode: Integer;
|
||||
VAR TransferTime: LongInt);
|
||||
FUNCTION FindReturnCode(ProtCode: ProtocolCodeType; XBStat: PRFlagSet; ReturnCode: AStr): Boolean;
|
||||
FUNCTION DoProtocol(VAR Protocol: ProtocolRecordType; UL,DL,Batch,Resume: Boolean): Integer;
|
||||
|
@ -48,7 +48,7 @@ PROCEDURE ExecProtocol(TextFN,
|
|||
Dir,
|
||||
BatLine: AStr;
|
||||
OKLevel: Integer;
|
||||
VAR ReturnCode: SmallInt;
|
||||
VAR ReturnCode: Integer;
|
||||
VAR TransferTime: LongInt);
|
||||
VAR
|
||||
SaveSwapShell,
|
|
@ -106,7 +106,7 @@ VAR
|
|||
TSiz: LongInt;
|
||||
i,
|
||||
j: Byte;
|
||||
RetLevel: SmallInt;
|
||||
RetLevel: Integer;
|
||||
b,
|
||||
Ok: Boolean;
|
||||
BEGIN
|
|
@ -99,12 +99,12 @@ VAR
|
|||
NumExtDesc,
|
||||
Counter,
|
||||
Counter1: BYTE;
|
||||
ReturnCode,
|
||||
SaveFileArea,
|
||||
DirFileRecNum,
|
||||
ProtocolNumber,
|
||||
SaveLastDirFileRecNum,
|
||||
ToXfer: Integer;
|
||||
ReturnCode: SmallInt;
|
||||
RecNum,
|
||||
RecNum1,
|
||||
TransferTime: LongInt;
|
|
@ -333,7 +333,7 @@ TYPE
|
|||
END;
|
||||
VAR
|
||||
Totals: TotalsRecordType;
|
||||
ReturnCode: SmallInt;
|
||||
ReturnCode,
|
||||
ProtocolNumber: Integer;
|
||||
TransferTime: LongInt;
|
||||
BEGIN
|
||||
|
@ -549,7 +549,7 @@ PROCEDURE Receive(FileName: Str12;
|
|||
AddULBatch: Boolean;
|
||||
VAR TransferTime: LongInt);
|
||||
VAR
|
||||
ReturnCode: SmallInt;
|
||||
ReturnCode,
|
||||
ProtocolNumber: Integer;
|
||||
BEGIN
|
||||
UploadOk := TRUE;
|
|
@ -1,7 +1,7 @@
|
|||
{$IFDEF WIN32}
|
||||
{$I DEFINES.INC}
|
||||
{$ENDIF}
|
||||
{$MODE TP}
|
||||
|
||||
{$A+,B-,D+,E-,F+,I-,L+,N-,O+,R-,S+,V-}
|
||||
|
||||
UNIT File9;
|
||||
|
@ -222,10 +222,10 @@ VAR
|
|||
InputStr: Str11;
|
||||
FirstFArea,
|
||||
LastFArea,
|
||||
FArea,
|
||||
NumFAreas,
|
||||
SaveFArea,
|
||||
SaveFileArea: Integer;
|
||||
FArea,
|
||||
NumFAreas: LongInt;
|
||||
SaveConfSystem,
|
||||
SaveTempPause: Boolean;
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
{$IFDEF WIN32}
|
||||
{$I DEFINES.INC}
|
||||
{$ENDIF}
|
||||
{$MODE TP}
|
||||
|
||||
{$A+,B-,D+,E-,F+,I-,L+,N-,O+,R-,S+,V-}
|
||||
|
||||
UNIT LineChat;
|
|
@ -1,7 +1,7 @@
|
|||
{$IFDEF WIN32}
|
||||
{$I DEFINES.INC}
|
||||
{$ENDIF}
|
||||
{$MODE TP}
|
||||
|
||||
{$A+,B-,D+,E-,F+,I-,L+,N-,O+,R-,S+,V-}
|
||||
|
||||
UNIT Logon;
|
||||
|
@ -602,7 +602,6 @@ VAR
|
|||
RecNum1,
|
||||
I: Integer;
|
||||
Done,Loggedon,Ok,CmdNotHid,CmdExists: Boolean;
|
||||
UserNum :LongInt;
|
||||
BEGIN
|
||||
PrintF('PRESHUTL');
|
||||
GotName := FALSE;
|
||||
|
@ -757,7 +756,6 @@ VAR
|
|||
Ok,
|
||||
TooMuch,
|
||||
ACSUser: Boolean;
|
||||
UserNum: LongInt;
|
||||
BEGIN
|
||||
WasNewUser := FALSE;
|
||||
UserNum := -1;
|
|
@ -1,7 +1,7 @@
|
|||
{$IFDEF WIN32}
|
||||
{$I DEFINES.INC}
|
||||
{$ENDIF}
|
||||
{$MODE TP}
|
||||
|
||||
{$A+,B-,D+,E-,F+,I-,L+,N-,O+,R-,S+,V-}
|
||||
|
||||
UNIT Mail0;
|
||||
|
@ -855,11 +855,11 @@ VAR
|
|||
FSize: LongInt;
|
||||
BEGIN
|
||||
TagLine := '';
|
||||
IF (NOT Exist(General.MultPath+'TAGLINE.PTR')) OR (NOT Exist(General.MultPath+'TAGLINE.DAT')) THEN
|
||||
IF (NOT Exist(General.lMultPath+'TAGLINE.PTR')) OR (NOT Exist(General.LMultPath+'TAGLINE.DAT')) THEN
|
||||
SL1('* TAGLINE.PTR or TAGLINE.DAT file(s) do not exist!')
|
||||
ELSE
|
||||
BEGIN
|
||||
Assign(StrPointerFile,General.MultPath+'TAGLINE.PTR');
|
||||
Assign(StrPointerFile,General.LMultPath+'TAGLINE.PTR');
|
||||
Reset(StrPointerFile);
|
||||
FSize := FileSize(StrPointerFile);
|
||||
IF (FSize < 1) THEN
|
||||
|
@ -877,7 +877,7 @@ BEGIN
|
|||
Read(StrPointerFile,StrPointer);
|
||||
Close(StrPointerFile);
|
||||
LastError := IOResult;
|
||||
Assign(RGStrFile,General.MultPath+'TAGLINE.DAT');
|
||||
Assign(RGStrFile,General.LMultPath+'TAGLINE.DAT');
|
||||
Reset(RGStrFile,1);
|
||||
Seek(RGStrFile,(StrPointer.Pointer - 1));
|
||||
TempTextSize := 0;
|
|
@ -1,7 +1,7 @@
|
|||
{$IFDEF WIN32}
|
||||
{$I DEFINES.INC}
|
||||
{$ENDIF}
|
||||
{$MODE TP}
|
||||
|
||||
{$A+,B-,D+,E-,F+,I-,L+,N-,O+,R-,S+,V-}
|
||||
|
||||
UNIT Mail1;
|
||||
|
@ -34,7 +34,6 @@ VAR
|
|||
InportFile: Text;
|
||||
InportFileOpen: Boolean;
|
||||
Escp: Boolean;
|
||||
MaxAvail: Integer;
|
||||
|
||||
PROCEDURE Anonymous(Offline: Boolean; VAR MHeader: MHeaderRec);
|
||||
VAR
|
|
@ -1,7 +1,7 @@
|
|||
{$IFDEF WIN32}
|
||||
{$I DEFINES.INC}
|
||||
{$ENDIF}
|
||||
{$MODE TP}
|
||||
|
||||
{$A+,B-,D+,E-,F+,I-,L+,N-,O+,R-,S+,V-}
|
||||
|
||||
UNIT Mail2;
|
|
@ -1,7 +1,7 @@
|
|||
{$IFDEF WIN32}
|
||||
{$I DEFINES.INC}
|
||||
{$ENDIF}
|
||||
{$MODE TP}
|
||||
|
||||
{$A+,B-,D+,E-,F+,I-,L+,N-,O+,R-,S+,V-}
|
||||
|
||||
UNIT Mail3;
|
||||
|
@ -126,8 +126,8 @@ VAR
|
|||
MHeader: MHeaderRec;
|
||||
MsgTempStr: STRING;
|
||||
SaveReadMsgArea,
|
||||
Unum: Integer;
|
||||
TempTextSize: Word;
|
||||
Unum,
|
||||
TempPtr,
|
||||
TempPtr1: LongInt;
|
||||
ForwardOk,
|
||||
|
@ -312,11 +312,11 @@ VAR
|
|||
MHeader: MHeaderRec;
|
||||
MsgTxtStr: STRING;
|
||||
InputStr: Str5;
|
||||
MArea,
|
||||
NumMAreas,
|
||||
SaveMArea,
|
||||
NewMsgArea,
|
||||
SaveReadMsgArea: Integer;
|
||||
MArea,
|
||||
NumMAreas: LongInt;
|
||||
TempTextSize: Word;
|
||||
SaveConfSystem: Boolean;
|
||||
BEGIN
|
|
@ -82,7 +82,7 @@ BEGIN
|
|||
END;
|
||||
|
||||
TempStr := TempStr + AOnOff(ShowScan AND LastReadRecord.NewScan,':'+ScanChar[1],' ')+
|
||||
PadLeftStr(PadRightStr(';'+IntToStr(CompMsgArea(MArea,0)),5)
|
||||
PadLeftStr(PadRightStr(';'+IntToStr(CompMsgArea(MArea,0)),5)+
|
||||
+'< '+MemMsgArea.Name,37)+' ';
|
||||
Inc(NumOnline);
|
||||
IF (NumOnline = 2) THEN
|
|
@ -83,8 +83,7 @@ USES
|
|||
TimeBank,
|
||||
TimeFunc,
|
||||
Vote,
|
||||
OneLiner,
|
||||
Crt;
|
||||
OneLiner;
|
||||
|
||||
|
||||
(*
|
||||
|
@ -393,11 +392,8 @@ BEGIN
|
|||
UserColor(6);
|
||||
|
||||
UNTIL ((GotCmd) OR (HangUp));
|
||||
{$IFDEF FPC}
|
||||
CursorOn;
|
||||
{$ELSE}
|
||||
|
||||
CursorOn(TRUE);
|
||||
{$ENDIF}
|
||||
|
||||
UserColor(1);
|
||||
|
|
@ -136,7 +136,7 @@ BEGIN
|
|||
Update_Screen;
|
||||
END;
|
||||
|
||||
PROCEDURE FindUser(VAR UserNum: LongInt);
|
||||
PROCEDURE FindUser(VAR UserNum: Integer);
|
||||
VAR
|
||||
User: UserRecordType;
|
||||
TempUserName: Str36;
|
|
@ -1,7 +1,7 @@
|
|||
{$IFDEF WIN32}
|
||||
{$I DEFINES.INC}
|
||||
{$ENDIF}
|
||||
{$MODE TP}
|
||||
|
||||
{$A+,B-,D-,E-,F+,I-,L-,N-,O+,R-,S+,V-}
|
||||
|
||||
UNIT Multnode;
|
|
@ -1,7 +1,7 @@
|
|||
{$IFDEF WIN32}
|
||||
{$I DEFINES.INC}
|
||||
{$ENDIF}
|
||||
{$MODE TP}
|
||||
|
||||
{$A+,B-,D+,E-,F+,I-,L+,N-,O+,R+,S-,V-}
|
||||
|
||||
UNIT MyIO;
|
||||
|
@ -13,17 +13,6 @@ TYPE
|
|||
WindowRec = ARRAY[0..8000] OF Byte;
|
||||
ScreenType = ARRAY [0..3999] OF Byte;
|
||||
Infield_Special_Function_Proc_Rec = PROCEDURE(c: Char);
|
||||
{$IFDEF LINUX}
|
||||
PChar = ^Char;
|
||||
SmallWord = System.Word;
|
||||
TscrCell = packed record
|
||||
Chr: Char;
|
||||
Att: Byte;
|
||||
end;
|
||||
TScrBuffer = array[0..$8000] of TScrCell;
|
||||
PScrBuffer = ^TScrBuffer;
|
||||
|
||||
{$ENDIF}
|
||||
|
||||
CONST
|
||||
Infield_Seperators: SET OF Char = [' ','\','.'];
|
||||
|
@ -36,19 +25,13 @@ CONST
|
|||
Infield_Arrow_Exit_TypeDefs: BOOLEAN = FALSE;
|
||||
Infield_Normal_Exit_Keydefs: BOOLEAN = FALSE;
|
||||
Infield_Normal_Exited: BOOLEAN = FALSE;
|
||||
{$IFDEF LINUX}
|
||||
MonitorType: Byte = 3; // REENOTE 3=CO80, a safe assumption I think
|
||||
{ScreenAddr: ScreenType ABSOLUTE $B800:$0000;}
|
||||
ScreenAddr: Byte = 3;
|
||||
{ Video modes }
|
||||
MON1 = $FE; { Monochrome, ASCII chars only }
|
||||
MON2 = $FD; { Monochrome, graphics chars }
|
||||
COL1 = $FC; { Color, ASCII chars only }
|
||||
COL2 = $FB; { Color, graphics chars }
|
||||
{$ENDIF}
|
||||
|
||||
VAR
|
||||
Wind: WindowRec;
|
||||
|
||||
{$IFDEF MSDOS}
|
||||
MonitorType: Byte ABSOLUTE $0000:$0449;
|
||||
ScreenAddr: ScreenType ABSOLUTE $B800:$0000;
|
||||
{$ENDIF}
|
||||
{$IFDEF WIN32}
|
||||
MonitorType: Byte = 3; // REENOTE 3=CO80, a safe assumption I think
|
||||
{$ENDIF}
|
||||
|
@ -66,17 +49,14 @@ VAR
|
|||
Infield_Special_Function_Keys,
|
||||
Infield_Arrow_Exit_Types,
|
||||
Infield_Normal_Exit_Keys: STRING;
|
||||
{$IFDEF LINUX}
|
||||
ScreenBuffer: PScrBuffer;
|
||||
ScrGraphs: array[#00..#31] of Char;
|
||||
ScrMode: Integer;
|
||||
|
||||
{$IFDEF MSDOS}
|
||||
PROCEDURE Update_Logo(VAR Addr1,Addr2; BlkLen: Integer);
|
||||
{$ENDIF}
|
||||
{$IFNDEF MSDOS}
|
||||
PROCEDURE Update_Logo(Data: Array of Char; OriginX, OriginY, DataLength: integer);
|
||||
{$IFDEF WIN32}
|
||||
procedure Update_Logo(Data: Array of Char; OriginX, OriginY, DataLength: integer);
|
||||
{$ENDIF}
|
||||
{$IFNDEF FPC}
|
||||
PROCEDURE CursorOn(b: BOOLEAN);
|
||||
{$ENDIF}
|
||||
PROCEDURE infield1(x,y: Byte; VAR s: AStr; Len: Byte);
|
||||
PROCEDURE Infielde(VAR s: AStr; Len: Byte);
|
||||
PROCEDURE Infield(VAR s: AStr; Len: Byte);
|
||||
|
@ -90,12 +70,7 @@ PROCEDURE Box(LineType,TLX,TLY,BRX,BRY: Integer);
|
|||
PROCEDURE SaveScreen(VAR Wind: WindowRec);
|
||||
PROCEDURE RemoveWindow(VAR Wind: WindowRec);
|
||||
PROCEDURE SetWindow(VAR Wind: WindowRec; TLX,TLY,BRX,BRY,TColr,BColr,BoxType: Integer);
|
||||
{$IFDEF LINUX}
|
||||
procedure SysWrtCharStrAtt(CharStr: Pointer; Len, X, Y: SmallWord; var Attr: Byte);
|
||||
procedure SysTVShowBuf(Pos,Size: Integer);
|
||||
procedure TrmWriteString( Const InString : String );
|
||||
function ColorSequence(Attr,LastAttr:word):string;
|
||||
{$ENDIF}
|
||||
|
||||
IMPLEMENTATION
|
||||
|
||||
USES
|
||||
|
@ -104,63 +79,13 @@ USES
|
|||
,RPScreen
|
||||
,VpSysLow
|
||||
{$ENDIF}
|
||||
{$IFDEF LINUX}
|
||||
,Unix
|
||||
,SysUtils
|
||||
{$ENDIF}
|
||||
;
|
||||
|
||||
{$IFDEF WIN32}
|
||||
VAR
|
||||
SavedScreen: TScreenBuf;
|
||||
{$ENDIF}
|
||||
{$IFDEF LINUX}
|
||||
Procedure TrmWriteString( Const InString : String );
|
||||
Begin
|
||||
WriteLn(Trim(InString));
|
||||
End;
|
||||
function ColorSequence(Attr,LastAttr:word):string;
|
||||
const
|
||||
// Color table
|
||||
ScrPalette: array[0..7] of Char = '04261537';
|
||||
Var
|
||||
Result: String;
|
||||
begin
|
||||
if Attr=LastAttr then
|
||||
Result:=''
|
||||
else
|
||||
begin
|
||||
Result:=#27'[';
|
||||
|
||||
if ((Attr xor LastAttr) and $80)<>0 then
|
||||
if Attr and $80=$80 then
|
||||
// + blink
|
||||
Result:=Result+'5;'
|
||||
else
|
||||
// - blink
|
||||
Result:=Result+'25;';
|
||||
|
||||
if ((Attr xor LastAttr) and $08)<>0 then
|
||||
if (Attr and $08)=$08 then
|
||||
// + bold
|
||||
Result:=Result+'1;'
|
||||
else
|
||||
// - bold
|
||||
Result:=Result+'22;';
|
||||
|
||||
// + foreground
|
||||
if ((Attr xor LastAttr) and $07)<>0 then
|
||||
Result:=Result+'3'+ScrPalette[Attr and $07]+';';
|
||||
|
||||
// + background
|
||||
if ((Attr xor LastAttr) and $70)<>0 then
|
||||
Result:=Result+'4'+ScrPalette[(Attr and $70) shr 4]+';';
|
||||
|
||||
Result[Length(Result)]:='m';
|
||||
end;
|
||||
|
||||
end;
|
||||
{$ENDIF}
|
||||
{$IFDEF MSDOS}
|
||||
PROCEDURE CursorOn(b: BOOLEAN); ASSEMBLER;
|
||||
ASM
|
||||
|
@ -725,215 +650,7 @@ BEGIN
|
|||
$1F);
|
||||
END;
|
||||
{$ENDIF}
|
||||
{$IFDEF LINUX}
|
||||
procedure SysWrtCharStrAtt(CharStr: Pointer; Len, X, Y: SmallWord; var Attr: Byte);
|
||||
var
|
||||
Src: PChar;
|
||||
Dst, I: LongInt;
|
||||
begin
|
||||
Src := CharStr;
|
||||
Dst := Y * ScreenWidth + X;
|
||||
|
||||
for I := 0 to Len - 1 do
|
||||
begin
|
||||
ScreenBuffer^[Dst + I].Chr := Src[I];
|
||||
ScreenBuffer^[Dst + I].Att := Attr;
|
||||
end;
|
||||
|
||||
SysTVShowBuf(Dst * 2, Len * 2);
|
||||
end;
|
||||
procedure SysTVShowBuf(Pos,Size: Integer);
|
||||
var
|
||||
Attr, LastAttr: Byte;
|
||||
Mode: Boolean;
|
||||
Reset_Wrap,
|
||||
Ctrl, Data: string;
|
||||
J, X, Y, X_STOP, Y_STOP, XLimit: Integer;
|
||||
NextLimit: Integer;
|
||||
NeedGotoXY: Boolean;
|
||||
ScrCursor: Boolean;
|
||||
begin
|
||||
if Odd(Pos) then
|
||||
begin
|
||||
Dec(Pos);
|
||||
Inc(Size);
|
||||
end;
|
||||
|
||||
if Odd(Size) then
|
||||
Inc(Size);
|
||||
|
||||
Pos:=Pos shr 1;
|
||||
Size:=Size shr 1;
|
||||
|
||||
if Size<=0 then Exit;
|
||||
if Pos+Size>ScreenWidth*ScreenHeight then
|
||||
Size:=ScreenWidth*ScreenHeight-Pos;
|
||||
{$IFDEF FPC}
|
||||
cursoron;
|
||||
{$ELSE}
|
||||
CursorOn(true);
|
||||
{$ENDIF}
|
||||
ScrCursor := true;
|
||||
if ScrCursor then
|
||||
TrmWriteString(#27'[?25l'#27'7') (* hide cursor, save state *)
|
||||
else
|
||||
TrmWriteString( #27'7'); (* save state *)
|
||||
|
||||
Y := Pos div ScreenWidth;
|
||||
X := Pos mod ScreenWidth;
|
||||
|
||||
Y_STOP := (Pos+Size) div ScreenWidth;
|
||||
X_STOP := (Pos+Size) mod ScreenWidth;
|
||||
|
||||
Mode := False;
|
||||
Data := '';
|
||||
Reset_Wrap := '';
|
||||
|
||||
J := Pos;
|
||||
NeedGotoXY := True;
|
||||
|
||||
repeat
|
||||
if (X=X_STOP) and (Y=Y_STOP) then Break;
|
||||
|
||||
if NeedGotoXY then
|
||||
begin
|
||||
|
||||
if Data<>'' then
|
||||
begin
|
||||
TrmWriteString(Data);
|
||||
Data:='';
|
||||
end;
|
||||
|
||||
NeedGotoXY := False;
|
||||
// move Corsor to upper left start position
|
||||
Ctrl := #27'[' + IntToStr(Y + 1) + ';' + IntToStr(X + 1) + 'H';
|
||||
TrmWriteString(Ctrl);
|
||||
LastAttr := ScreenBuffer^[J].Att xor $ff;
|
||||
end;
|
||||
|
||||
if Y=Y_STOP then
|
||||
XLimit := X_STOP
|
||||
else
|
||||
XLimit := ScreenWidth;
|
||||
|
||||
while X < XLimit do
|
||||
begin
|
||||
|
||||
with ScreenBuffer^[J] do
|
||||
begin
|
||||
|
||||
(*** Attribute *****************************************)
|
||||
Attr := Att;
|
||||
|
||||
if Attr<>LastAttr then
|
||||
begin
|
||||
TrmWriteString(Data);
|
||||
Data:='';
|
||||
|
||||
TrmWriteString(ColorSequence(Attr, LastAttr));
|
||||
|
||||
LastAttr:=Attr;
|
||||
end; (* Attr<>LastAttr *)
|
||||
|
||||
|
||||
if J = NextLimit - 1 then
|
||||
if J =ScreenWidth*ScreenHeight-1 then
|
||||
begin
|
||||
Data := Data + #27'[7l'; (* autowrap off *)
|
||||
Reset_Wrap := #27'[7h'; (* autowrap on *)
|
||||
end;
|
||||
|
||||
(*** Character *****************************************)
|
||||
case Chr of
|
||||
#1..#6:
|
||||
begin
|
||||
if Mode then
|
||||
begin
|
||||
Data := Data + #27'(B'; (* select ISO-8859-1 *)
|
||||
Mode := False;
|
||||
end;
|
||||
|
||||
Data := Data + ScrGraphs[Chr];
|
||||
end;
|
||||
|
||||
#7..#31:
|
||||
begin
|
||||
if not (Mode or (ScrMode in [MON1,COL1])) then
|
||||
begin
|
||||
Data := Data + #27'(0'; (* select vt100 graphics *)
|
||||
Mode := True;
|
||||
end;
|
||||
|
||||
Data := Data + ScrGraphs[Chr];
|
||||
end;
|
||||
|
||||
#0, #$7f..#$9f:
|
||||
Data := Data + ' ';
|
||||
|
||||
else
|
||||
|
||||
if Mode then
|
||||
begin
|
||||
Data := Data + #27'(B'; (* select ISO-8859-1 *)
|
||||
Mode := False;
|
||||
end;
|
||||
|
||||
Data := Data + Chr;
|
||||
|
||||
end; (* case Chr *)
|
||||
|
||||
|
||||
if Length(Data) > 127 then
|
||||
begin
|
||||
TrmWriteString(Data);
|
||||
Data := '';
|
||||
end;
|
||||
|
||||
end; (* with ScrBuffer^[J] *)
|
||||
|
||||
Inc(J);
|
||||
Inc(X);
|
||||
|
||||
end; (* while J < NextLimit *)
|
||||
|
||||
(* next line reached ? *)
|
||||
if X=ScreenWidth then
|
||||
begin
|
||||
X:=0;
|
||||
Inc(Y);
|
||||
end;
|
||||
|
||||
(* optimize blank line ends *)
|
||||
if (Length(Data)>3) and (X=0) then
|
||||
if (Data[Length(Data)]=' ') and (Data[Length(Data)-1]=' ') and (Data[Length(Data)-2]=' ') then
|
||||
begin
|
||||
|
||||
while (Data<>'') and (Data[Length(Data)]=' ') do
|
||||
Dec(Data[0]);
|
||||
|
||||
Data := Data + #27'[K'; (* erase up to end of line *)
|
||||
|
||||
NeedGotoXY:=True;
|
||||
end;
|
||||
|
||||
until false; (* main lines loop *)
|
||||
|
||||
|
||||
if Mode then
|
||||
Data := Data + #27'(B'; (* select ISO-8859-1 *)
|
||||
|
||||
TrmWriteString(Data);
|
||||
|
||||
if ScrCursor then
|
||||
TrmWriteString(#27'[?25h'#27'8') (* show cursor, restore state *)
|
||||
else
|
||||
TrmWriteString( #27'8'); (* restore state *)
|
||||
|
||||
if Reset_Wrap<>'' then
|
||||
TrmWriteString(Reset_Wrap);
|
||||
end;
|
||||
{$ENDIF}
|
||||
{$IFNDEF MSDOS}
|
||||
{$IFDEF WIN32}
|
||||
procedure Update_Logo(Data: Array of Char; OriginX, OriginY, DataLength: integer);
|
||||
var
|
||||
i, x, y, count, counter: Integer;
|
||||
|
@ -987,4 +704,5 @@ begin
|
|||
end;
|
||||
end;
|
||||
{$ENDIF}
|
||||
|
||||
END.
|
|
@ -1,7 +1,7 @@
|
|||
{$IFDEF WIN32}
|
||||
{$I DEFINES.INC}
|
||||
{$ENDIF}
|
||||
{$MODE TP}
|
||||
|
||||
{$A+,B-,D+,E-,F+,I-,L+,N-,O+,R-,S+,V-}
|
||||
|
||||
UNIT NewUsers;
|
|
@ -1,7 +1,7 @@
|
|||
{$IFDEF WIN32}
|
||||
{$I DEFINES.INC}
|
||||
{$ENDIF}
|
||||
{$MODE TP}
|
||||
|
||||
{$A+,B-,D-,E-,F+,I-,L-,N-,O+,R-,S+,V-}
|
||||
|
||||
UNIT Nodelist;
|
||||
|
@ -190,7 +190,7 @@ VAR
|
|||
Key: NodeType ABSOLUTE ALine;
|
||||
Desired: NodeType ABSOLUTE Desire;
|
||||
Count: Byte;
|
||||
K: Word;
|
||||
K: Integer;
|
||||
BEGIN
|
||||
Count := 0;
|
||||
REPEAT
|
|
@ -1,7 +1,7 @@
|
|||
{$IFDEF WIN32}
|
||||
{$I DEFINES.INC}
|
||||
{$ENDIF}
|
||||
{$MODE TP}
|
||||
|
||||
{$A+,B-,D+,E-,F+,I-,L+,N-,O+,R-,S-,V-}
|
||||
|
||||
UNIT OffLine;
|
|
@ -1,4 +1,3 @@
|
|||
{$MODE TP}
|
||||
{$A+,B-,D+,E-,F+,I-,L+,N-,O+,R-,S+,V-}
|
||||
Unit OneLiner;
|
||||
|
|
@ -172,7 +172,7 @@ TYPE
|
|||
SecurityRangeType = ARRAY [0..255] OF LongInt; { Access tables }
|
||||
|
||||
UserIDXRec = { USERS.IDX : Sorted names listing }
|
||||
PACKED RECORD
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
Name: STRING[36]; { the user's name }
|
||||
Number, { user number }
|
||||
Left, { Left node }
|
||||
|
@ -182,7 +182,7 @@ TYPE
|
|||
END;
|
||||
|
||||
UserRecordType = { USERS.DAT : User records }
|
||||
PACKED RECORD
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
Name, { system name }
|
||||
RealName: STRING[36]; { real name }
|
||||
|
||||
|
@ -292,7 +292,7 @@ TYPE
|
|||
Junked);
|
||||
|
||||
FromToInfo = { from/to information for mheaderrec }
|
||||
Packed Record
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
Anon: Byte;
|
||||
UserNum: SmallWord; { user number }
|
||||
A1S: STRING[36]; { posted as }
|
||||
|
@ -305,7 +305,7 @@ Packed Record
|
|||
END;
|
||||
|
||||
MHeaderRec =
|
||||
Packed Record
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
From,
|
||||
MTO: FromToInfo; { message from/to info }
|
||||
Pointer: LongInt; { starting record OF text }
|
||||
|
@ -323,7 +323,7 @@ Packed Record
|
|||
END;
|
||||
|
||||
HistoryRecordType = { HISTORY.DAT : Summary logs }
|
||||
Packed Record
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
Date: UniXTime;
|
||||
Active,
|
||||
Callers,
|
||||
|
@ -340,7 +340,7 @@ Packed Record
|
|||
END;
|
||||
|
||||
FileArcInfoRecordType = { Archive configuration records }
|
||||
Packed Record
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
Active: Boolean; { active or not }
|
||||
Ext: STRING[3]; { file extension }
|
||||
ListLine, { /x for internal; x: 1=ZIP, 2=ARC/PAK, 3=ZOO, 4=LZH }
|
||||
|
@ -359,7 +359,7 @@ Packed Record
|
|||
MFlagSet = SET OF ModemFlagType;
|
||||
|
||||
LineRec =
|
||||
Packed Record
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
InitBaud: LongInt; { initialization baud }
|
||||
ComPort: Byte; { COM port number }
|
||||
MFlags: MFlagSet; { status flags }
|
||||
|
@ -394,7 +394,7 @@ Packed Record
|
|||
END;
|
||||
|
||||
ValidationRecordType =
|
||||
Packed Record
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
Key, { Key '!' to '~' }
|
||||
ExpireTo: Char; { validation level to expire to }
|
||||
Description: STRING[30]; { description }
|
||||
|
@ -412,7 +412,7 @@ Packed Record
|
|||
END;
|
||||
|
||||
GeneralRecordType =
|
||||
Packed Record
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
ForgotPWQuestion: STRING[70];
|
||||
|
||||
QWKWelcome, { QWK welcome file name }
|
||||
|
@ -428,7 +428,7 @@ Packed Record
|
|||
TempPath, { TEMP path }
|
||||
ProtPath, { PROT path }
|
||||
ArcsPath, { ARCS path }
|
||||
MultPath, { MULT path }
|
||||
lMultPath, { MULT path }
|
||||
FileAttachPath, { directory for file attaches }
|
||||
QWKLocalPath, { QWK path for local usage }
|
||||
DefEchoPath, { default echomail path }
|
||||
|
@ -621,7 +621,7 @@ Packed Record
|
|||
ARRAY [1..3] OF STRING[40]; { BBS comment files for archives }
|
||||
|
||||
Aka: ARRAY [0..20] OF
|
||||
Packed Record { 20 Addresses }
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD { 20 Addresses }
|
||||
Zone, { 21st is for UUCP address }
|
||||
Net,
|
||||
Node,
|
||||
|
@ -644,13 +644,13 @@ Packed Record
|
|||
END;
|
||||
|
||||
ShortMessageRecordType = { SHORTMSG.DAT : One-line messages }
|
||||
Packed Record
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
Msg: AStr;
|
||||
Destin: SmallInt;
|
||||
END;
|
||||
|
||||
VotingRecordType = { VOTING.DAT : Voting records }
|
||||
Packed Record
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
Question1, { Voting Question 1 }
|
||||
Question2: STRING[60]; { Voting Question 2 }
|
||||
ACS: ACString; { ACS required to vote on this }
|
||||
|
@ -659,7 +659,7 @@ Packed Record
|
|||
CreatedBy: STRING[36]; { who created it }
|
||||
AddAnswersACS: ACString; { ACS required to add choices }
|
||||
Answers: ARRAY [1..25] OF
|
||||
Packed Record
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
Answer1, { answer description }
|
||||
Answer2: STRING[65]; { answer description #2 }
|
||||
NumVotedAnswer: SmallInt; { # user's who picked this answer }
|
||||
|
@ -683,7 +683,7 @@ Packed Record
|
|||
MAFlagSet = SET OF MessageAreaFlagType;
|
||||
|
||||
MessageAreaRecordType = { MBASES.DAT : Message area records }
|
||||
Packed Record
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
Name: STRING[40]; { message area description }
|
||||
FileName: STRING[8]; { HDR/DAT data filename }
|
||||
MsgPath: STRING[40]; {Not Used} { messages pathname }
|
||||
|
@ -722,7 +722,7 @@ Packed Record
|
|||
FAFlagSet = SET OF FileAreaFlagType;
|
||||
|
||||
FileAreaRecordType = { FBASES.DAT : File area records }
|
||||
Packed Record
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
AreaName: STRING[40]; { area description }
|
||||
FileName: STRING[8]; { filename + ".DIR" }
|
||||
DLPath, { download path }
|
||||
|
@ -750,7 +750,7 @@ Packed Record
|
|||
FIFlagSet = SET OF FileInfoFlagType;
|
||||
|
||||
FileInfoRecordType = { *.DIR : File records }
|
||||
Packed Record
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
FileName: STRING[12]; { Filename }
|
||||
Description: STRING[50]; { File description }
|
||||
FilePoints: SmallInt; { File points }
|
||||
|
@ -765,7 +765,7 @@ Packed Record
|
|||
END;
|
||||
|
||||
LastCallerRec = { LASTON.DAT : Last few callers records }
|
||||
Packed Record
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
Node: Byte; { Node number }
|
||||
UserName: STRING[36]; { User name OF caller }
|
||||
Location: STRING[30]; { Location OF caller }
|
||||
|
@ -815,7 +815,7 @@ Packed Record
|
|||
EventDaysType = SET OF 0..6; {Set of event days}
|
||||
|
||||
EventRecordType = {Events - EVENTS.DAT}
|
||||
Packed Record
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
EventDescription: STRING[30]; {Description of the Event}
|
||||
EventDayOfMonth: BYTE; {If monthly, the Day of Month}
|
||||
EventDays: EventDaysType; {If Daily, the Days Active}
|
||||
|
@ -850,7 +850,7 @@ Packed Record
|
|||
ProtocolCodeType = ARRAY [1..6] OF STRING[6];
|
||||
|
||||
ProtocolRecordType = { PROTOCOL.DAT records }
|
||||
Packed Record
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
PRFlags: PRFlagSet; { Protocol Flags }
|
||||
CKeys: STRING[14]; { Command Keys }
|
||||
Description: STRING[40]; { Description }
|
||||
|
@ -870,7 +870,7 @@ Packed Record
|
|||
END;
|
||||
|
||||
ConferenceRecordType = { CONFRENC.DAT : Conference data }
|
||||
Packed Record
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
Key: Char; { key '@' to 'Z' }
|
||||
Name: STRING[30]; { name of conference }
|
||||
ACS: ACString; { access requirement }
|
||||
|
@ -887,7 +887,7 @@ Packed Record
|
|||
NodeFlagSet = SET OF NodeFlagType;
|
||||
|
||||
NodeRecordType = { MULTNODE.DAT }
|
||||
Packed Record
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
User: SmallWord; { What user number }
|
||||
UserName: STRING[36]; { User's name }
|
||||
CityState: STRING[30]; { User's location }
|
||||
|
@ -905,7 +905,7 @@ Packed Record
|
|||
END;
|
||||
|
||||
RoomRec = { ROOM.DAT }
|
||||
Packed Record
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
Topic: STRING[40]; { Topic OF this room }
|
||||
Anonymous: Boolean; { Is Room anonymous ? }
|
||||
Private: Boolean; { Is Room private ? }
|
||||
|
@ -914,13 +914,13 @@ Packed Record
|
|||
END;
|
||||
|
||||
ScanRec = { *.SCN files / MESSAGES }
|
||||
Packed Record
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
NewScan: Boolean; { Scan this area? }
|
||||
LastRead: UnixTime; { Last date read }
|
||||
END;
|
||||
|
||||
SchemeRec = { Scheme.dat }
|
||||
Packed Record
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
Description: STRING[30]; { Description OF the color scheme }
|
||||
Color: ARRAY [1..200] OF Byte; { Colors in scheme }
|
||||
END;
|
||||
|
@ -938,7 +938,7 @@ Packed Record
|
|||
}
|
||||
|
||||
BBSListRecordType = { *.BBS file records }
|
||||
Packed Record
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
RecordNum, { Number OF the Record For Edit }
|
||||
UserID, { User ID OF person adding this }
|
||||
MaxNodes : LongInt; { Maximum Number Of Nodes }
|
||||
|
@ -994,7 +994,7 @@ Packed Record
|
|||
CmdFlagSet = SET OF CmdFlagType;
|
||||
|
||||
MenuRec =
|
||||
Packed Record
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
LDesc: ARRAY [1..3] OF STRING[100]; { Menu Or Command Long Description ARRAY }
|
||||
ACS: ACString; { Access Requirements }
|
||||
NodeActivityDesc: STRING[50];
|
|
@ -7,25 +7,18 @@
|
|||
{$IFDEF MSDOS}
|
||||
{$M 35500,0,131072}
|
||||
{$ENDIF}
|
||||
{$MODE TP}
|
||||
{ }
|
||||
{ _______ __ }
|
||||
{ | _ .-----.-----.-----.-----.---.-.--| .-----. }
|
||||
{ |. l | -__| | -__| _ | _ | _ | -__| }
|
||||
{ |. _ |_____|__|__|_____|___ |___._|_____|_____| }
|
||||
{ |: | | |_____| }
|
||||
{ |::.|:. | }
|
||||
{ `--- ---' }
|
||||
{ }
|
||||
|
||||
{ R E N E G A D E }
|
||||
{ =============== }
|
||||
|
||||
{$A+} { Align Data for faster execution }
|
||||
{$B-} { Shortcut Boolean eval }
|
||||
{$D+} { No Debug Info }
|
||||
{$IFNDEF UNIX}
|
||||
{$E-} { No Math-Co library }
|
||||
{$ENDIF}
|
||||
{$F+} { Force Far Calls }
|
||||
{$I-} { Disable I/O check }
|
||||
{$L+} { Local Symbols, Ignored IF D-, don't need cause of D- }
|
||||
{$N-} { No Math-Co use }
|
||||
{$P+} { Allow OpenString }
|
||||
{$O+} { Use Overlays? }
|
||||
{$Q-} { No overflow check }
|
||||
|
@ -37,6 +30,8 @@
|
|||
PROGRAM Renegade;
|
||||
|
||||
USES
|
||||
OverLay,
|
||||
{ OvrUMB,}
|
||||
Crt,
|
||||
Dos,
|
||||
Boot,
|
||||
|
@ -56,7 +51,7 @@ USES
|
|||
NewUsers,
|
||||
OffLine,
|
||||
TimeFunc,
|
||||
WfCMenu, rpport;
|
||||
WfCMenu;
|
||||
|
||||
{$O MsgPack } {$O Common1 } {$O Common2 } {$O Common3 } {$O Boot }
|
||||
{$O WfcMenu } {$O Timefunc } {$O Sysop1 } {$O Sysop2 } {$O Offline }
|
||||
|
@ -78,8 +73,11 @@ USES
|
|||
|
||||
CONST
|
||||
NeedToHangUp: Boolean = FALSE;
|
||||
|
||||
|
||||
BBSVersion: Astr = '1.20.1/'
|
||||
{$IFDEF LINUX} + 'Linux'; {$ENDIF}
|
||||
{$IFDEF WIN32} + 'Win32'; {$ENDIF}
|
||||
{$IFDEF WIN64} + 'Win64'; {$ENDIF}
|
||||
{$IFDEF MSDOS} + 'Dos16'; {$ENDIF}
|
||||
|
||||
VAR
|
||||
ExitSave: Pointer;
|
||||
|
@ -89,7 +87,7 @@ VAR
|
|||
S: Astr;
|
||||
Counter: Byte;
|
||||
Counter1: Integer;
|
||||
|
||||
BBSVersion: Astr;
|
||||
|
||||
PROCEDURE ErrorHandle;
|
||||
VAR
|
|
@ -5,22 +5,13 @@ unit RPScreen;
|
|||
|
||||
interface
|
||||
|
||||
|
||||
{$IFDEF WIN32}
|
||||
uses
|
||||
{$IFDEF WINDOWS}
|
||||
Windows;
|
||||
{$ELSE}
|
||||
Unix, SysUtils, Crt;
|
||||
{$ENDIF}
|
||||
type
|
||||
{$IFDEF FPC}
|
||||
TCharInfo = packed record
|
||||
Ch: char;
|
||||
Attr: byte;
|
||||
end;
|
||||
{$ENDIF}
|
||||
TScreenBuf = Array[1..25, 1..80] of TCharInfo; // REETODO Don't hardcode to 80x25
|
||||
|
||||
type
|
||||
TScreenBuf = Array[1..25, 1..80] of TCharInfo; // REETODO Don't hardcode to 80x25
|
||||
{$ENDIF}
|
||||
|
||||
procedure RPBlockCursor;
|
||||
procedure RPGotoXY(xy: Word);
|
||||
|
@ -41,9 +32,8 @@ var
|
|||
StdOut: THandle;
|
||||
{$ENDIF}
|
||||
|
||||
{$IFNDEF MSDOS}
|
||||
{$IFDEF WIN32}
|
||||
procedure RPBlockCursor;
|
||||
{$IFDEF WINDOWS}
|
||||
var
|
||||
CCI: TConsoleCursorInfo;
|
||||
begin
|
||||
|
@ -51,12 +41,6 @@ begin
|
|||
CCI.dwSize := 15;
|
||||
SetConsoleCursorInfo(StdOut, CCI);
|
||||
end;
|
||||
{$ELSE}
|
||||
begin
|
||||
cursorbig;
|
||||
end;
|
||||
|
||||
{$ENDIF}
|
||||
|
||||
procedure RPGotoXY(xy: Word);
|
||||
var
|
|
@ -1,7 +1,7 @@
|
|||
{$IFDEF WIN32}
|
||||
{$I DEFINES.INC}
|
||||
{$ENDIF}
|
||||
{$MODE TP}
|
||||
|
||||
{$A+,B-,D+,E-,F+,I-,L+,N-,O+,R-,S+,V-}
|
||||
UNIT STATS;
|
||||
|
||||
|
@ -172,7 +172,7 @@ END;
|
|||
PROCEDURE SearchTop20AreaFileSpec(FArea: Integer; VAR Top20File: Top20FileArray);
|
||||
VAR
|
||||
F: FileInfoRecordType;
|
||||
DirFileRecNum: LongInt;
|
||||
DirFileRecNum: Integer;
|
||||
BEGIN
|
||||
IF (FileArea <> FArea) THEN
|
||||
ChangeFileArea(FArea);
|
|
@ -0,0 +1,427 @@
|
|||
{$IFDEF WIN32}
|
||||
{$I DEFINES.INC}
|
||||
{$ENDIF}
|
||||
|
||||
{$A+,B-,D+,E-,F+,I-,L+,N-,O+,R-,S+,V-}
|
||||
|
||||
UNIT SysOp2A;
|
||||
|
||||
INTERFACE
|
||||
|
||||
PROCEDURE MainBBSConfiguration;
|
||||
|
||||
IMPLEMENTATION
|
||||
|
||||
USES
|
||||
Crt,
|
||||
Common,
|
||||
SysOp7,
|
||||
TimeFunc;
|
||||
|
||||
{
|
||||
RGSysCfgStr(1,FALSE)
|
||||
|
||||
$Main_BBS_Configuration
|
||||
%CL^5Main BBS Configuration:^1
|
||||
|
||||
^1A. BBS name/number : ^5%BN ^1(^5%BP^1)
|
||||
^1B. Telnet Url : ^5%TN
|
||||
^1C. SysOp's name : ^5%SN{15 ^1D. Renegade Version : ^5%VR
|
||||
^1E. SysOp chat hours : ^5%CS ^1F. Minimum baud hours : ^5%BL
|
||||
^1G. Regular DL hours : ^5%DH ^1H. Minimum baud DL hrs: ^5%BM
|
||||
^1I. BBS Passwords : ^1J. Pre-event warning : ^5%ET seconds
|
||||
^1K. System Menus : ^1L. Bulletin Prefix : ^5%PB
|
||||
^1M. MultiNode support: ^5%MN ^1N. Network mode : ^5%NM
|
||||
|
||||
^10. Main data files dir. : ^5%PD
|
||||
^11. Miscellaneous Files dir.: ^5%PM
|
||||
^12. Message file storage dir: ^5%P1
|
||||
^13. Nodelist (Version 7) dir: ^5%P2
|
||||
^14. Log files/trap files dir: ^5%PL
|
||||
^15. Temporary directory : ^5%PT
|
||||
^16. Protocols directory : ^5%PP
|
||||
^17. Archivers directory : ^5%P7
|
||||
^18. File attach directory : ^5%PF
|
||||
^19. RAM drive/MultiNode path: ^5%P3
|
||||
|
||||
Enter selection [^5A^4-^5N^4,^50^4-^59^4,^5Q^4=^5Quit^4]: @
|
||||
$
|
||||
|
||||
RGSysCfgStr(2,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_BBS_Name
|
||||
%LFNew BBS name: @
|
||||
$
|
||||
|
||||
RGSysCfgStr(3,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_BBS_Phone
|
||||
%LFNew BBS phone number: @
|
||||
$
|
||||
|
||||
RGSysCfgStr(4,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_Telnet_URL
|
||||
%LF^4New Telnet Url:%LF^4: @
|
||||
$
|
||||
|
||||
RGSysCfgStr(5,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_SysOp_Name
|
||||
%LFNew SysOp name: @
|
||||
$
|
||||
|
||||
RGNoteStr(0,FALSE)
|
||||
|
||||
$Internal_Use_Only
|
||||
%LF^7This is for internal use only.
|
||||
%PA
|
||||
$
|
||||
|
||||
RGNoteStr(1,FALSE)
|
||||
|
||||
$Only_Change_Locally
|
||||
%LF^7This can only be changed locally.
|
||||
%PA
|
||||
$
|
||||
|
||||
RGSysCfgStr(6,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_SysOp_Chat_Hours
|
||||
%LFDo you want to declare sysop chat hours? @
|
||||
$
|
||||
|
||||
RGSysCfgStr(7,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_Minimum_Baud_Hours
|
||||
%LFDo you want to declare hours people at the minimum baud can logon? @
|
||||
$
|
||||
|
||||
RGSysCfgStr(8,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_Download_Hours
|
||||
%LFDo you want to declare download hours? @
|
||||
$
|
||||
|
||||
RGSysCfgStr(9,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_Minimum_Baud_Download_Hours
|
||||
%LFDo you want to declare hours people at minimum baud can download? @
|
||||
$
|
||||
|
||||
RGSysCfgStr(10,FALSE)
|
||||
|
||||
$Main_BBS_Configuration_SysOp_Password_Menu
|
||||
%CL^5System Passwords:^1
|
||||
|
||||
^1A. SysOp password : ^5%P4
|
||||
^1B. New user password : ^5%P5
|
||||
^1C. Baud override password: ^5%P6
|
||||
|
||||
Enter selection [^5A^4-^5C^4,^5Q^4=^5Quit^4]: @
|
||||
$
|
||||
|
||||
RGSysCfgStr(11,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_SysOp_Password
|
||||
%LFNew SysOp password: @
|
||||
$
|
||||
|
||||
RGSysCfgStr(12,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_New_User_Password
|
||||
%LFNew new-user password: @
|
||||
$
|
||||
|
||||
RGSysCfgStr(13,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_Baud_Override_Password
|
||||
%LFNew minimum baud rate override password: @
|
||||
$
|
||||
|
||||
RGSysCfgStr(14,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_Pre_Event_Time
|
||||
%LFNew pre-event warning time@
|
||||
$
|
||||
|
||||
RGSysCfgStr(15,FALSE)
|
||||
|
||||
$Main_BBS_Configuration_System_Menus
|
||||
%CL^5System Menus:^1
|
||||
|
||||
^11. Global : ^5%M1
|
||||
^12. All Start : ^5%M2
|
||||
^13. Shutle logon : ^5%M3
|
||||
^14. New user info: ^5%M4
|
||||
^15. Message Read : ^5%M5
|
||||
^16. File List : ^5%M6
|
||||
|
||||
Enter selection [^51^4-^56^4,^5Q^4=^5Quit^4]: @
|
||||
$
|
||||
|
||||
RGSysCfgStr(16,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_System_Menus_Global
|
||||
%LFMenu for global commands (0=None)@
|
||||
$
|
||||
|
||||
RGSysCfgStr(17,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_System_Menus_Start
|
||||
%LFMenu to start all users at@
|
||||
$
|
||||
|
||||
RGSysCfgStr(18,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_System_Menus_Shuttle
|
||||
%LFMenu for shuttle logon (0=None)@
|
||||
$
|
||||
|
||||
RGSysCfgStr(19,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_System_Menus_New_User
|
||||
%LFMenu for new user information@
|
||||
$
|
||||
|
||||
RGSysCfgStr(20,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_System_Menus_Message_Read
|
||||
%LFMenu for message read@
|
||||
$
|
||||
|
||||
RGSysCfgStr(21,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_System_Menus_File_Listing
|
||||
%LFMenu for file listing@
|
||||
$
|
||||
|
||||
RGNoteStr(2,FALSE)
|
||||
|
||||
$Invalid_Menu_Number
|
||||
%LF^7Invalid menu number.
|
||||
%PA
|
||||
$
|
||||
|
||||
RGSysCfgStr(22,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_Bulletin_Prefix
|
||||
%LFDefault bulletin prefix: @
|
||||
$
|
||||
|
||||
RGNoteStr(1,FALSE)
|
||||
|
||||
$Only_Change_Locally
|
||||
%LF^7This can only be changed locally.
|
||||
%PA
|
||||
$
|
||||
|
||||
RGSysCfgStr(23,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_Local_Security
|
||||
%LFDo you want local security to remain on? @
|
||||
$
|
||||
|
||||
RGSysCfgStr(24,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_Data_Path
|
||||
%LF^4New data files path (^5End with a ^4"^5\^4"):%LF^4: @
|
||||
$
|
||||
|
||||
RGSysCfgStr(25,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_Misc_Path
|
||||
%LF^4New miscellaneous files path (^5End with a ^4"^5\^4"):%LF^4: @
|
||||
$
|
||||
|
||||
RGSysCfgStr(26,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_Msg_Path
|
||||
%LF^4New message files path (^5End with a ^4"^5\^4"):%LF^4: @
|
||||
$
|
||||
|
||||
RGSysCfgStr(27,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_NodeList_Path
|
||||
%LF^4New nodelist files path (^5End with a ^4"^5\^4"):%LF^4: @
|
||||
$
|
||||
|
||||
RGSysCfgStr(28,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_Log_Path
|
||||
%LF^4New sysop log files path (^5End with a ^4"^5\^4"):%LF^4: @
|
||||
$
|
||||
|
||||
RGSysCfgStr(29,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_Temp_Path
|
||||
%LF^4New temporary files path (^5End with a ^4"^5\^4"):%LF^4: @
|
||||
$
|
||||
|
||||
RGSysCfgStr(30,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_Protocol_Path
|
||||
%LF^4New protocol files path (^5End with a ^4"^5\^4"):%LF^4: @
|
||||
$
|
||||
|
||||
RGSysCfgStr(31,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_Archive_Path
|
||||
%LF^4New archive files path (^5End with a ^4"^5\^4"):%LF^4: @
|
||||
$
|
||||
|
||||
RGSysCfgStr(32,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_Attach_Path
|
||||
%LF^4New file attach files path (^5End with a ^4"^5\^4"):%LF^4: @
|
||||
$
|
||||
|
||||
RGSysCfgStr(33,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_MultNode_Path
|
||||
%LF^4New multi-node files path (^5End with a ^4"^5\^4"):%LF^4: @
|
||||
$
|
||||
|
||||
}
|
||||
|
||||
PROCEDURE GetTimeRange(CONST RGStrNum: LongInt; VAR LoTime,HiTime: SmallInt);
|
||||
VAR
|
||||
TempStr: Str5;
|
||||
LowTime,
|
||||
HighTime: Integer;
|
||||
BEGIN
|
||||
IF (NOT (PYNQ(RGSysCfgStr(RGStrNum,TRUE),0,FALSE))) THEN
|
||||
BEGIN
|
||||
LowTime := 0;
|
||||
HighTime := 0;
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
NL;
|
||||
Print('All entries in 24 hour time. Hour: (0-23), Minute: (0-59)');
|
||||
NL;
|
||||
Prt('Starting time: ');
|
||||
MPL(5);
|
||||
InputFormatted('',TempStr,'##:##',TRUE);
|
||||
IF (StrToInt(Copy(TempStr,1,2)) IN [0..23]) AND (StrToInt(Copy(TempStr,4,2)) IN [0..59]) THEN
|
||||
LowTime := ((StrToInt(Copy(TempStr,1,2)) * 60) + StrToInt(Copy(TempStr,4,2)))
|
||||
ELSE
|
||||
LowTime := 0;
|
||||
NL;
|
||||
Prt('Ending time: ');
|
||||
MPL(5);
|
||||
InputFormatted('',TempStr,'##:##',TRUE);
|
||||
IF (StrToInt(Copy(TempStr,1,2)) IN [0..23]) AND (StrToInt(Copy(TempStr,4,2)) IN [0..59]) THEN
|
||||
HighTime := ((StrToInt(Copy(TempStr,1,2)) * 60) + StrToInt(Copy(TempStr,4,2)))
|
||||
ELSE
|
||||
HighTime := 0;
|
||||
END;
|
||||
NL;
|
||||
Print('Hours: '+PHours('Always allowed',LowTime,HighTime));
|
||||
NL;
|
||||
IF PYNQ('Are you sure this is what you want? ',0,FALSE) THEN
|
||||
BEGIN
|
||||
LoTime := LowTime;
|
||||
HiTime := HighTime;
|
||||
END;
|
||||
END;
|
||||
|
||||
PROCEDURE MainBBSConfiguration;
|
||||
VAR
|
||||
LineFile: FILE OF LineRec;
|
||||
Cmd: Char;
|
||||
Changed: Boolean;
|
||||
BEGIN
|
||||
Assign(LineFile,General.DataPath+'NODE'+IntToStr(ThisNode)+'.DAT');
|
||||
Reset(LineFile);
|
||||
Seek(LineFile,0);
|
||||
Read(LineFile,Liner);
|
||||
REPEAT
|
||||
WITH General DO
|
||||
BEGIN
|
||||
Abort := FALSE;
|
||||
Next := FALSE;
|
||||
RGSysCfgStr(1,FALSE);
|
||||
OneK(Cmd,'QABCDEFGHIJKLMN0123456789'^M,TRUE,TRUE);
|
||||
CASE Cmd OF
|
||||
'A' : BEGIN
|
||||
InputWNWC(RGSysCfgStr(2,TRUE),BBSName,(SizeOf(BBSName) - 1),Changed);
|
||||
InputFormatted(RGSysCfgStr(3,TRUE),BBSPhone,'###-###-####',FALSE);
|
||||
END;
|
||||
'B' : InputWN1(RGSysCfgStr(4,TRUE),Liner.NodeTelnetURL,(SizeOf(Liner.NodeTelnetURL) - 1),[InteractiveEdit],Changed);
|
||||
'C' : InputWN1(RGSysCfgStr(5,TRUE),SysOpName,(SizeOf(SysOpName) - 1),[InterActiveEdit],Changed);
|
||||
'D' : RGNoteStr(0,FALSE);
|
||||
'E' : IF (InCom) THEN
|
||||
RGNoteStr(1,FALSE)
|
||||
ELSE
|
||||
GetTimeRange(6,lLowTime,HiTime);
|
||||
'F' : GetTimeRange(7,MinBaudLowTime,MinBaudHiTime);
|
||||
'G' : GetTimeRange(8,DLLowTime,DLHiTime);
|
||||
'H' : GetTimeRange(9,MinBaudDLLowTime,MinBaudDLHiTime);
|
||||
'I' : BEGIN
|
||||
REPEAT
|
||||
RGSysCfgStr(10,FALSE);
|
||||
OneK(Cmd,^M'ABC',TRUE,TRUE);
|
||||
CASE Cmd OF
|
||||
'A' : InputWN1(RGSysCfgStr(11,TRUE),SysOpPw,(SizeOf(SysOpPW) - 1),[InterActiveEdit,UpperOnly],Changed);
|
||||
'B' : InputWN1(RGSysCfgStr(12,TRUE),NewUserPW,(SizeOf(SysOpPW) - 1),[InterActiveEdit,UpperOnly],Changed);
|
||||
'C' : InputWN1(RGSysCfgStr(13,TRUE),MinBaudOverride,(SizeOf(SysOpPW) - 1),
|
||||
[InterActiveEdit,UpperOnly],Changed);
|
||||
END;
|
||||
UNTIL (Cmd = ^M) OR (HangUp);
|
||||
Cmd := #0;
|
||||
END;
|
||||
'J' : InputByteWOC(RGSysCfgStr(14,TRUE),EventWarningTime,[DisplayValue,NumbersOnly],0,255);
|
||||
'K' : BEGIN
|
||||
REPEAT
|
||||
RGSysCfgStr(15,FALSE);
|
||||
OneK(Cmd,^M'123456Q',TRUE,TRUE);
|
||||
CASE Cmd OF
|
||||
'1' : FindMenu(RGSysCfgStr(16,TRUE),GlobalMenu,0,NumMenus,Changed);
|
||||
'2' : FindMenu(RGSysCfgStr(17,TRUE),AllStartMenu,1,NumMenus,Changed);
|
||||
'3' : FindMenu(RGSysCfgStr(18,TRUE),ShuttleLogonMenu,0,NumMenus,Changed);
|
||||
'4' : FindMenu(RGSysCfgStr(19,TRUE),NewUserInformationMenu,1,NumMenus,Changed);
|
||||
'5' : FindMenu(RGSysCfgStr(20,TRUE),MessageReadMenu,1,NumMenus,Changed);
|
||||
'6' : FindMenu(RGSysCfgStr(21,TRUE),FileListingMenu,1,NumMenus,Changed);
|
||||
END;
|
||||
UNTIL (Cmd IN [^M,'Q']) OR (HangUp);
|
||||
Cmd := #0;
|
||||
END;
|
||||
'L' : InputWN1(RGSysCfgStr(22,TRUE),BulletPrefix,(SizeOf(BulletPrefix) - 1),[InterActiveEdit,UpperOnly],Changed);
|
||||
'M' : IF (InCom) THEN
|
||||
RGNoteStr(1,FALSE)
|
||||
ELSE
|
||||
BEGIN
|
||||
MultiNode := (NOT MultiNode);
|
||||
SaveGeneral(FALSE);
|
||||
ClrScr;
|
||||
Writeln('Please restart Renegade.');
|
||||
Halt;
|
||||
END;
|
||||
'N' : BEGIN
|
||||
NetworkMode := (NOT NetworkMode);
|
||||
IF (NetworkMode) THEN
|
||||
LocalSec := TRUE
|
||||
ELSE
|
||||
LocalSec := PYNQ(RGSysCfgStr(23,TRUE),0,FALSE);
|
||||
END;
|
||||
'0' : InputPath(RGSysCfgStr(24,TRUE),DataPath,TRUE,FALSE,Changed);
|
||||
'1' : InputPath(RGSysCfgStr(25,TRUE),MiscPath,TRUE,FALSE,Changed);
|
||||
'2' : InputPath(RGSysCfgStr(26,TRUE),MsgPath,TRUE,FALSE,Changed);
|
||||
'3' : InputPath(RGSysCfgStr(27,TRUE),NodePath,TRUE,FALSE,Changed);
|
||||
'4' : InputPath(RGSysCfgStr(28,TRUE),LogsPath,TRUE,FALSE,Changed);
|
||||
'5' : InputPath(RGSysCfgStr(29,TRUE),TempPath,FALSE,FALSE,Changed);
|
||||
'6' : InputPath(RGSysCfgStr(30,TRUE),ProtPath,TRUE,FALSE,Changed);
|
||||
'7' : InputPath(RGSysCfgStr(31,TRUE),ArcsPath,TRUE,FALSE,Changed);
|
||||
'8' : InputPath(RGSysCfgStr(32,TRUE),FileAttachPath,TRUE,FALSE,Changed);
|
||||
'9' : InputPath(RGSysCfgStr(33,TRUE),lMultPath,TRUE,FALSE,Changed);
|
||||
END;
|
||||
END;
|
||||
UNTIL (Cmd = 'Q') OR (HangUp);
|
||||
Seek(LineFile,0);
|
||||
Write(LineFile,Liner);
|
||||
Close(LineFile);
|
||||
LastError := IOResult;
|
||||
END;
|
||||
|
||||
END.
|
|
@ -481,7 +481,7 @@ VAR
|
|||
CmdStr := '12345678'
|
||||
ELSE
|
||||
CmdStr := '12345678[]FJL';
|
||||
LOneK('%LFModify menu [^5?^4=^5Help^4]: ',Cmd1,'Q?'+CmdStr+^M,TRUE,TRUE);
|
||||
LOneK('%LFModify menu [^5?^4=^5Help^4]: ',Cmd1,'Q?'+CmdStr++^M,TRUE,TRUE);
|
||||
CASE Cmd1 OF
|
||||
'1' : REPEAT
|
||||
TempScheme1.Description := Description;
|
|
@ -159,7 +159,7 @@ VAR
|
|||
PrintACR('^15. Decompression cmdline : ^5'+DisplayArcStr(UnArcLine));
|
||||
PrintACR('^16. File testing cmdline : ^5'+DisplayArcStr(TestLine));
|
||||
PrintACR('^17. Add comment cmdline : ^5'+DisplayArcStr(CmtLine));
|
||||
PrintACR('^18. Errorlevel for success : ^5'+AOnOff(SuccLevel <> - 1,IntToStr(SuccLevel),'-1 (ignores)'));
|
||||
PrintACR('^18. Errorlevel for success : ^5'++AOnOff(SuccLevel <> - 1,IntToStr(SuccLevel),'-1 (ignores)'));
|
||||
END;
|
||||
IF (NOT Editing) THEN
|
||||
CmdStr := '12345678'
|
|
@ -17,11 +17,7 @@ PROCEDURE TEdit(CONST FSpec: AStr);
|
|||
IMPLEMENTATION
|
||||
|
||||
USES
|
||||
Dos
|
||||
{$IFDEF LINUX}
|
||||
,Linux
|
||||
{$ENDIF}
|
||||
;
|
||||
Dos;
|
||||
|
||||
PROCEDURE TEdit1;
|
||||
VAR
|
||||
|
@ -72,7 +68,6 @@ VAR
|
|||
I: Integer;
|
||||
Done,
|
||||
AllRead: Boolean;
|
||||
MemAvail: Integer;
|
||||
|
||||
PROCEDURE InLi(VAR S1: AStr);
|
||||
VAR
|
||||
|
@ -182,10 +177,7 @@ VAR
|
|||
END;
|
||||
|
||||
FUNCTION NewPtr(VAR x: StrPtr): Boolean;
|
||||
Var
|
||||
MaxAvail : Integer;
|
||||
BEGIN
|
||||
MaxAvail := 2048;
|
||||
IF (Used <> NIL) THEN
|
||||
BEGIN
|
||||
x := Used;
|
|
@ -1,7 +1,7 @@
|
|||
{$IFDEF WIN32}
|
||||
{$I DEFINES.INC}
|
||||
{$ENDIF}
|
||||
{$MODE TP}
|
||||
|
||||
{$A+,B-,D+,E-,F+,I-,L+,N-,O+,R-,S+,V-}
|
||||
UNIT SysOp9;
|
||||
|
||||
|
@ -119,7 +119,7 @@ VAR
|
|||
'T' : Add := AOnOff((MemFileArea.ArcType = 0),'*None*',General.FileArcInfo[MemFileArea.ArcType].Ext);
|
||||
END;
|
||||
'C' : CASE UpCase(S[Index + 2]) OF
|
||||
'T' : Add := AOnOff((MemFileArea.CmtType = 0),'*None*',IntToStr(MemFileArea.CmtType));
|
||||
'T' : Add := +AOnOff((MemFileArea.CmtType = 0),'*None*',IntToStr(MemFileArea.CmtType));
|
||||
END;
|
||||
'D' : CASE UpCase(S[Index + 2]) OF
|
||||
'D' : Add := MCIVars1.Drive;
|
||||
|
@ -178,14 +178,14 @@ VAR
|
|||
TotLoad: LongInt;
|
||||
Found: Boolean;
|
||||
BEGIN
|
||||
Assign(StrPointerFile,General.MultPath+'FAEPR.DAT');
|
||||
Assign(StrPointerFile,General.LMultPath+'FAEPR.DAT');
|
||||
Reset(StrPointerFile);
|
||||
Seek(StrPointerFile,StrNum);
|
||||
Read(StrPointerFile,StrPointer);
|
||||
Close(StrPointerFile);
|
||||
LastError := IOResult;
|
||||
TotLoad := 0;
|
||||
Assign(RGStrFile,General.MultPath+'FAETX.DAT');
|
||||
Assign(RGStrFile,General.LMultPath+'FAETX.DAT');
|
||||
Reset(RGStrFile,1);
|
||||
Seek(RGStrFile,(StrPointer.Pointer - 1));
|
||||
REPEAT
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue