diff --git a/mystic/bbs_filebase.pas b/mystic/bbs_filebase.pas index 72c0e2b..d223f0e 100644 --- a/mystic/bbs_filebase.pas +++ b/mystic/bbs_filebase.pas @@ -431,7 +431,7 @@ Var Case Mode of 0, 1 : Protocol.ReceivePath := DirSlash(FName); - 2 : Queue.Add(JustPath(FName), JustFile(FName)); + 2 : Queue.Add(True, JustPath(FName), JustFile(FName)); 3 : Begin Assign (T, Session.TempPath + 'file.lst'); Reset (T); @@ -439,7 +439,7 @@ Var While Not Eof(T) Do Begin ReadLn (T, Res); - Queue.Add(JustPath(Res), JustFile(Res)); + Queue.Add(True, JustPath(Res), JustFile(Res)); End; Close (T); @@ -1510,7 +1510,7 @@ Begin Inc(A); End; - Session.SystemLog('DEBUG: ExecArc build exec for: ' + Temp); + //Session.SystemLog('DEBUG: ExecArc build exec for: ' + Temp); ShellDOS ('', Temp); End; @@ -1735,6 +1735,7 @@ Begin If FirstBase Then Begin Session.User.ThisUser.LastFBase := 0; + ChangeFileArea ('+'); End; @@ -1771,6 +1772,7 @@ Begin If FirstBase Then Begin Session.User.ThisUser.LastFBase := 0; + ChangeFileArea ('+'); End; @@ -1939,7 +1941,9 @@ Begin If Session.User.Access(FBase.ListACS) Then Begin Session.User.ThisUser.LastFBase := FilePos(FBaseFile); + Close (FBaseFile); + Exit; End; Until False; @@ -2788,6 +2792,7 @@ Var End; 'Q' : Begin Result := 1; + Break; End; 'V' : Begin @@ -3373,10 +3378,12 @@ Begin Timer := TimerSet(1000); Session.io.OutFull(Session.GetPrompt(67)); + Session.io.BufFlush; While Not TimerUp(Timer) Do If Session.io.InKey(1000) <> #255 Then Begin Session.io.OutRawLn(''); + Exit; End; @@ -3464,8 +3471,10 @@ Begin If (FDir.FileName = Batch[A].FileName) And (FDir.Flags And FDirDeleted = 0) Then Begin Inc (FDir.Downloads); + Seek (FDirFile, FilePos(FDirFile) - 1); Write (FDirFile, FDir); + Break; End; End; @@ -3497,8 +3506,10 @@ Var Procedure Scan_Base; Begin Session.io.PromptInfo[1] := FBase.Name; + Session.io.OutBS (Screen.CursorX, True); Session.io.OutFull (Session.GetPrompt(87)); + Session.io.BufFlush; Case ListFiles (3, Str) of @@ -3537,17 +3548,26 @@ Begin Session.io.OutRawLn (''); Reset (FBaseFile); + While (Not Eof(FBaseFile)) and (Not Done) Do Begin Found := False; + Read (FBaseFile, FBase); - If Session.User.Access(FBase.ListACS) Then Scan_Base; + + If Session.User.Access(FBase.ListACS) Then + Scan_Base; End; Close (FBaseFile); End Else Begin Session.io.OutRawLn (''); + Reset (FBaseFile); + Seek (FBaseFile, Session.User.ThisUser.LastFBase - 1); + Read (FBaseFile, FBase); + Scan_Base; + Close (FBaseFile); End; @@ -3630,8 +3650,13 @@ Begin Session.io.OutFullLn(Session.GetPrompt(038)) Else Begin GetFileScan; + Reset (FBaseFile); + Seek (FBaseFile, Session.User.ThisUser.LastFBase - 1); + Read (FBaseFile, FBase); + Scan_Current_Base; + Close (FBaseFile); End; End; diff --git a/mystic/bbs_io.pas b/mystic/bbs_io.pas index 5656fdc..a07f738 100644 --- a/mystic/bbs_io.pas +++ b/mystic/bbs_io.pas @@ -1277,7 +1277,7 @@ Begin End; If AllowAbort And (BufPos MOD 128 = 0) And Not Session.LocalMode Then - If Session.Client.DataWaiting And (InKey(0) = #32) Then Begin + If InKey(0) = #32 Then Begin AnsiColor(7); Break; End; @@ -1858,6 +1858,7 @@ Var pWrite (Copy(Str, Junk, Field)); If UseInField Then AnsiColor(TBBSCore(Core).Theme.FieldColor2); + pWrite (strRep(FieldCh, Field - Length(Copy(Str, Junk, Field)))); If UseInField Then AnsiColor(TBBSCore(Core).Theme.FieldColor1); @@ -1868,6 +1869,7 @@ Var Begin pWrite (Copy(Str, StrPos, Field - CurPos + 1)); If UseInField Then AnsiColor(TBBSCore(Core).Theme.FieldColor2); + pWrite (strRep(FieldCh, (Field - CurPos + 1) - Length(Copy(Str, StrPos, Field - CurPos + 1)))); If UseInField Then AnsiColor(TBBSCore(Core).Theme.FieldColor1); diff --git a/mystic/bbs_msgbase.pas b/mystic/bbs_msgbase.pas index 3b783dd..34f9191 100644 --- a/mystic/bbs_msgbase.pas +++ b/mystic/bbs_msgbase.pas @@ -944,7 +944,7 @@ Begin If Temp = 'A' Then ToggleAll(1) Else - If Temp = 'D' Then + If Temp = 'R' Then ToggleAll(0) Else If Temp = '?' Then @@ -3683,7 +3683,6 @@ Var NewMsgs : LongInt; YourMsgs : LongInt; TotalMsgs : LongInt; - Res : Boolean; Begin Session.io.PromptInfo[1] := MBase.Name; Session.io.PromptInfo[2] := strI2S(Global_CurBase); diff --git a/mystic/default.txt b/mystic/default.txt index 5f74c31..a5e1b7e 100644 --- a/mystic/default.txt +++ b/mystic/default.txt @@ -198,7 +198,7 @@ 093 |07|$R04|&1|15|$R03|&3 |07|$R29|&2 094 |CR|12There are no available message bases! ; Message base new and qwk scan toggle prompt: -095 Toggle: |09[|11#-#,#|09], Select [|11A|09]ll, [|11D|09]eselect All, [|11?|09/|11List|09]: |XX +095 Toggle: |09[|11#-#,#|09], Select [|11A|09]dd All, [|11R|09]emove All, [|11?|09/|11List|09]: |XX ; For strings 096 - 099: &1 = message base name 096 |CR |11|&1 will NOT be scanned in QWK packets!|CR 097 |CR |11|&1 will be scanned in QWK packets!|CR diff --git a/mystic/mis_server.pas b/mystic/mis_server.pas index 463a730..6876d46 100644 --- a/mystic/mis_server.pas +++ b/mystic/mis_server.pas @@ -80,7 +80,7 @@ Begin ServerStatus := TStringList.Create; StatusUpdated := False; ClientList := TList.Create; - TextPath := Config.DataPath; + TextPath := Cfg.DataPath; NodeInfo := ND; Config := Cfg; diff --git a/mystic/mpl_execute.pas b/mystic/mpl_execute.pas index f74b399..1af2148 100644 --- a/mystic/mpl_execute.pas +++ b/mystic/mpl_execute.pas @@ -22,6 +22,7 @@ Type DataFile : TFileBuffer; CurVarNum : Word; CurVarID : Word; +// CurClassNum : Word; VarData : VarDataRec; Ch : Char; W : Word; diff --git a/mystic/nodespy_term.pas b/mystic/nodespy_term.pas index 43f4521..932173c 100644 --- a/mystic/nodespy_term.pas +++ b/mystic/nodespy_term.pas @@ -696,7 +696,7 @@ Begin Zmodem.StatusProc := @ProtocolStatusUpdate; Zmodem.AbortProc := @ProtocolAbort; - Queue.Add(JustPath(FileName), JustFile(FileName), ''); + Queue.Add(True, JustPath(FileName), JustFile(FileName), ''); Zmodem.QueueSend; diff --git a/mystic/records.pas b/mystic/records.pas index 375bd11..8c3d3c7 100644 --- a/mystic/records.pas +++ b/mystic/records.pas @@ -23,7 +23,7 @@ Const mysSoftwareID = 'Mystic BBS'; mysCopyYear = '1997-2013'; // its been a long time! - mysVersion = '1.10 A35'; // current version + mysVersion = '1.10 A36'; // current version mysDataChanged = '1.10 A11'; // version of last records change {$IFDEF WIN32} diff --git a/mystic/whatsnew.txt b/mystic/whatsnew.txt index ca1968a..5daed06 100644 --- a/mystic/whatsnew.txt +++ b/mystic/whatsnew.txt @@ -3458,7 +3458,20 @@ this: ; Message base new and qwk scan toggle prompt: - 095 Toggle: |09[|11#-#,#|09], Select [|11A|09]ll, [|11D|09]eselect All, [|11?|09/|11List|09]: |XX + 095 Toggle: |09[|11#-#,#|09], Select [|11A|09]dd ll, [|11R|09]emove All, [|11?|09/|11List|09]: |XX + ! Fixed a bug in the matrix login after creating a new user. + + ! Fixed a bug when searching or doing new scans on a single file base which + could sometimes cause a crash. + + ! Broke BADIP.TXT recently. Fixed now. + + ! Fixed a bug with NodeSpy Zmodem download which would cause it to crash, + hopefully it will work better now? At least it shouldn't crash now either + way. + + ! Fixed a few other bugs and did some minor enhancements that no one will + notice. ;)