Compare commits

..

1 Commits

Author SHA1 Message Date
R. Eric Wheeler a091ba40d4 Updated readme 2016-03-05 11:35:34 -08:00
149 changed files with 724 additions and 4576 deletions

8
.gitignore vendored
View File

@ -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/

6
.gitmodules vendored
View File

@ -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

View File

@ -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.

View File

@ -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,

View File

@ -52,7 +52,7 @@ VAR
NumFiles,
RecNum,
Counter: Byte;
Junk: SmallInt;
Junk,
RN,
FArea,
SaveFileArea,

View File

@ -28,7 +28,7 @@ VAR
NS: NameStr;
ES: ExtStr;
AType: Byte;
ReturnCode: SmallInt;
ReturnCode,
DirFileRecNum: Integer;
OldSiz,
NewSiz: LongInt;

View File

@ -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;

View File

@ -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

View File

@ -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;

View File

@ -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);

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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}

View File

@ -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

View File

@ -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

View File

@ -689,7 +689,7 @@ END;
PROCEDURE DoDoorFunc(DropFileType: Char; MenuOption: Str50);
VAR
Answer: AStr;
ReturnCode: SmallInt;
ReturnCode: Integer;
DoorTime: LongInt;
UseRealName: Boolean;
BEGIN

View File

@ -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;

View File

@ -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

View File

@ -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

View File

@ -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;

View File

@ -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,

View File

@ -106,7 +106,7 @@ VAR
TSiz: LongInt;
i,
j: Byte;
RetLevel: SmallInt;
RetLevel: Integer;
b,
Ok: Boolean;
BEGIN

View File

@ -99,12 +99,12 @@ VAR
NumExtDesc,
Counter,
Counter1: BYTE;
ReturnCode,
SaveFileArea,
DirFileRecNum,
ProtocolNumber,
SaveLastDirFileRecNum,
ToXfer: Integer;
ReturnCode: SmallInt;
RecNum,
RecNum1,
TransferTime: LongInt;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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

View File

@ -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;

View File

@ -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

View File

@ -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

View File

@ -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);

View File

@ -136,7 +136,7 @@ BEGIN
Update_Screen;
END;
PROCEDURE FindUser(VAR UserNum: LongInt);
PROCEDURE FindUser(VAR UserNum: Integer);
VAR
User: UserRecordType;
TempUserName: Str36;

View File

@ -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;

View File

@ -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.

View File

@ -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;

View File

@ -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

View File

@ -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;

View File

@ -1,4 +1,3 @@
{$MODE TP}
{$A+,B-,D+,E-,F+,I-,L+,N-,O+,R-,S+,V-}
Unit OneLiner;

View File

@ -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];

View File

@ -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

View File

@ -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

View File

@ -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);

427
SOURCE/SYSOP2A.PAS Normal file
View File

@ -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.

View File

@ -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;

View File

@ -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'

View File

@ -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;

View File

@ -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