Renegade-1.19/SOURCE/RGNOTE.PAS

186 lines
5.2 KiB
Plaintext
Raw Normal View History

2013-02-04 15:56:58 -08:00
PROGRAM RGNOTE;
USES
Crt;
TYPE
StrPointerRec = RECORD
Pointer,
TextSize: LongInt;
END;
VAR
RGStrFile: FILE;
StrPointerFile: FILE OF StrPointerRec;
StrPointer: StrPointerRec;
F: Text;
S: STRING;
RGStrNum: LongInt;
Done,
Found: Boolean;
FUNCTION AllCaps(S: STRING): STRING;
VAR
I: Integer;
BEGIN
FOR I := 1 TO Length(S) DO
IF (S[I] IN ['a'..'z']) THEN
S[I] := Chr(Ord(S[I]) - Ord('a')+Ord('A'));
AllCaps := S;
END;
BEGIN
CLrScr;
WriteLn('Renegade System Notes String Compiler Version 1.0');
Writeln('Copyright 2006 - The Renegade Developement Team');
WriteLn;
Write('Compiling strings ... ');
Found := TRUE;
Assign(StrPointerFile,'RGNOTEPR.DAT');
ReWrite(StrPointerFile);
Assign(RGStrFile,'RGNOTETX.DAT');
ReWrite(RGStrFile,1);
Assign(F,'RGNOTE.TXT');
Reset(F);
WHILE NOT EOF(F) AND (Found) DO
BEGIN
ReadLn(F,S);
IF (S <> '') AND (S[1] = '$') THEN
BEGIN
Delete(S,1,1);
S := AllCaps(S);
RGStrNum := -1;
IF (S = 'INTERNAL_USE_ONLY') THEN
RGStrNum := 0
ELSE IF (S = 'ONLY_CHANGE_LOCALLY') THEN
RGStrNum := 1
ELSE IF (S = 'INVALID_MENU_NUMBER') THEN
RGStrNum := 2
ELSE IF (S = 'MINIMUM_BAUD_LOGON_PW') THEN
RGStrNum := 3
ELSE IF (S = 'MINIMUM_BAUD_LOGON_HIGH_LOW_TIME_PW') THEN
RGStrNum := 4
ELSE IF (S = 'MINIMUM_BAUD_LOGON_HIGH_LOW_TIME_NO_PW') THEN
RGStrNum := 5
ELSE IF (S = 'LOGON_EVENT_RESTRICTED_1') THEN
RGStrNum := 6
ELSE IF (S = 'LOGON_EVENT_RESTRICTED_2') THEN
RGStrNum := 7
ELSE IF (S = 'NAME_NOT_FOUND') THEN
RGStrNum := 8
ELSE IF (S = 'ILLEGAL_LOGON') THEN
RGStrNum := 9
ELSE IF (S = 'LOGON_NODE_ACS') THEN
RGStrNum := 10
ELSE IF (S = 'LOCKED_OUT') THEN
RGStrNum := 11
ELSE IF (S = 'LOGGED_ON_ANOTHER_NODE') THEN
RGStrNum := 12
ELSE IF (S = 'INCORRECT_BIRTH_DATE') THEN
RGStrNum := 13
ELSE IF (S = 'INSUFFICIENT_LOGON_CREDITS') THEN
RGStrNum := 14
ELSE IF (S = 'LOGON_ONCE_PER_DAY') THEN
RGStrNum := 15
ELSE IF (S = 'LOGON_CALLS_ALLOWED_PER_DAY') THEN
RGStrNum := 16
ELSE IF (S = 'LOGON_TIME_ALLOWED_PER_DAY_OR_CALL') THEN
RGStrNum := 17
ELSE IF (S = 'LOGON_MINUTES_LEFT_IN_BANK') THEN
RGStrNum := 18
ELSE IF (S = 'LOGON_MINUTES_LEFT_IN_BANK_TIME_LEFT') THEN
RGStrNum := 19
ELSE IF (S = 'LOGON_BANK_HANGUP') THEN
RGStrNum := 20
ELSE IF (S = 'LOGON_ATTEMPT_IEMSI_NEGOTIATION') THEN
RGStrNum := 21
ELSE IF (S = 'LOGON_IEMSI_NEGOTIATION_SUCCESS') THEN
RGStrNum := 22
ELSE IF (S = 'LOGON_IEMSI_NEGOTIATION_FAILED') THEN
RGStrNum := 23
ELSE IF (S = 'LOGON_ATTEMPT_DETECT_EMULATION') THEN
RGStrNum := 24
ELSE IF (S = 'LOGON_RIP_DETECTED') THEN
RGStrNum := 25
ELSE IF (S = 'LOGON_ANSI_DETECT_OTHER') THEN
RGStrNum := 26
ELSE IF (S = 'LOGON_ANSI_DETECT') THEN
RGStrNum := 27
ELSE IF (S = 'LOGON_AVATAR_DETECT_OTHER') THEN
RGStrNum := 28
ELSE IF (S = 'LOGON_AVATAR_DETECT') THEN
RGStrNum := 29
ELSE IF (S = 'LOGON_EMULATION_DETECTED') THEN
RGStrNum := 30
ELSE IF (S = 'SHUTTLE_LOGON_VALIDATION_STATUS') THEN
RGStrNum := 31
ELSE IF (S = 'LOGON_CLOSED_BBS') THEN
RGStrNum := 32
ELSE IF (S = 'NODE_ACTIVITY_WAITING_ONE') THEN
RGStrNum := 33
ELSE IF (S = 'NODE_ACTIVITY_WAITING_TWO') THEN
RGStrNum := 34
ELSE IF (S = 'NODE_ACTIVITY_LOGGING_ON') THEN
RGStrNum := 35
ELSE IF (S = 'NODE_ACTIVITY_NEW_USER_LOGGING_ON') THEN
RGStrNum := 36
ELSE IF (S = 'NODE_ACTIVITY_MISCELLANEOUS') THEN
RGStrNum := 37
ELSE IF (S = 'NEW_USER_PASSWORD_INVALID') THEN
RGStrNum := 38
ELSE IF (S = 'NEW_USER_PASSWORD_ATTEMPT_EXCEEDED') THEN
RGStrNum := 39
ELSE IF (S = 'NEW_USER_RECORD_SAVING') THEN
RGStrNum := 40
ELSE IF (S = 'NEW_USER_RECORD_SAVED') THEN
RGStrNum := 41
ELSE IF (S = 'NEW_USER_APPLICATION_LETTER') THEN
RGStrNum := 42
ELSE IF (S = 'NEW_USER_IN_RESPONSE_TO_SUBJ') THEN
RGStrNum := 43;
IF (RGStrNum = -1) THEN
BEGIN
WriteLn('Error!');
WriteLn;
WriteLn(^G^G^G'The following string definition is invalid:');
WriteLn;
WriteLn(' '+S);
Found := FALSE;
END
ELSE
BEGIN
Done := FALSE;
WITH StrPointer DO
BEGIN
Pointer := (FileSize(RGStrFile) + 1);
TextSize := 0;
END;
Seek(RGStrFile,FileSize(RGStrFile));
WHILE NOT EOF(F) AND (NOT Done) DO
BEGIN
ReadLn(F,S);
IF (S[1] = '$') THEN
Done := TRUE
ELSE
BEGIN
Inc(StrPointer.TextSize,(Length(S) + 1));
BlockWrite(RGStrFile,S,(Length(S) + 1));
END;
END;
Seek(StrPointerFile,RGStrNum);
Write(StrPointerFile,StrPointer);
END;
END;
END;
Close(F);
Close(RGStrFile);
Close(StrPointerFile);
IF (Found) THEN
WriteLn('Done!')
ELSE
BEGIN
Erase(StrPointerFile);
Erase(RGStrFile);
END;
END.