-+-+-+-+-+-+-+-+ START OF PART 66 -+-+-+-+-+-+-+-+ X cursor_r`5Bi1`5D := escape + '=' + tmp `7B Row V part`7D X end; X for i1 := 1 to 80 do X begin X tmp := chr(i1+31); `7B Col char V`7D X cursor_c`5Bi1`5D := tmp `7B Col V part`7D X end X end; X 18 : `7B ADDS100 (/FT3) `7D X begin X row_first := true; `7B Sequence is row,col `7D X cursor_erl := escape + 'K'; X cursor_erp := escape + 'k'; X curlen_r := 3; X curlen_c := 1; X cursor_l := 4; X for i1 := 1 to 24 do X begin X tmp := chr(i1+31); `7B Row char V`7D X cursor_r`5Bi1`5D := escape + 'Y' + tmp `7B Row V part`7D X end; X for i1 := 1 to 80 do X begin X tmp := chr(i1+31); `7B Col char V`7D X cursor_c`5Bi1`5D := tmp `7B Col V part`7D X end X end; X 19 : `7B IBM3101 (/FT4) `7D X begin X row_first := true; `7B Sequence is row,col `7D X cursor_erl := escape + 'I'; X cursor_erp := escape + 'J'; X curlen_r := 3; X curlen_c := 1; X cursor_l := 4; X for i1 := 1 to 24 do X begin X tmp := chr(i1+39); `7B Row char V`7D X cursor_r`5Bi1`5D := escape + 'Y' + tmp `7B Row V part`7D X end; X for i1 := 1 to 80 do X begin X tmp := chr(i1+39); `7B Col char V`7D X cursor_c`5Bi1`5D := tmp `7B Col V part`7D X end X end; X 16 : `7B Teleray 10 (/FT1) `7D X begin X row_first := true; `7B Sequence is row,col `7D X cursor_erl := escape + 'K'; X cursor_erp := escape + 'J'; X curlen_r := 3; X curlen_c := 1; X cursor_l := 4; X for i1 := 1 to 24 do X begin X tmp := chr(i1+31); `7B Row char V`7D X cursor_r`5Bi1`5D := escape + 'Y' + tmp `7B Row V part`7D X end; X for i1 := 1 to 80 do X begin X tmp := chr(i1+31); `7B Col char V`7D X cursor_c`5Bi1`5D := tmp `7B Col V part`7D X end X end; X 64 : `7B VT52 (/VT52) `7D X begin X row_first := true; `7B Sequence is row,col `7D X cursor_erl := escape + 'K'; X cursor_erp := escape + 'J'; X curlen_r := 3; X curlen_c := 1; X cursor_l := 4; X for i1 := 1 to 24 do X begin X tmp := chr(i1+31); `7B Row char V`7D X cursor_r`5Bi1`5D := escape + 'Y' + tmp `7B Row V part`7D X end; X for i1 := 1 to 80 do X begin X tmp := chr(i1+31); `7B Col char V`7D X cursor_c`5Bi1`5D := tmp `7B Col V part`7D X end X end; X 96 : `7B VT100 and ANSI X3.64 standard (/VT100)`7D X `7B Note that the row and column strings must always `7 VD X `7B of the same length `7 VD X begin X row_first := true; `7B Sequence is row,col `7D X cursor_erl := escape + '`5BK'; X cursor_erp := escape + '`5BJ'; X curlen_r := 4; X curlen_c := 4; X cursor_l := 8; X for i1 := 1 to 24 do X begin X writev(tmp_str,'00',i1:1); `7B Row char Vs`7D X tmp_str := substr(tmp_str,length(tmp_str)-1,2); X cursor_r`5Bi1`5D := escape + '`5B' + tmp_str `7B Ro Vw part `7D X end; X for i1 := 1 to 80 do X begin X writev(tmp_str,'00',i1:1); `7B Col char Vs`7D X tmp_str := substr(tmp_str,length(tmp_str)-1,2); X cursor_c`5Bi1`5D := ';' + tmp_str + 'H' `7B Col V part `7D X end X end; X 110 : `7B VT200 and ANSI X3.64 standard (/DEV=VT200)`7D X `7B Note that the row and column strings must always `7 VD X `7B of the same length `7 VD X begin X row_first := true; `7B Sequence is row,col `7D X cursor_erl := escape + '`5BK'; X cursor_erp := escape + '`5BJ'; X curlen_r := 4; X curlen_c := 4; X cursor_l := 8; X for i1 := 1 to 24 do X begin X writev(tmp_str,'00',i1:1); `7B Row char Vs`7D X tmp_str := substr(tmp_str,length(tmp_str)-1,2); X cursor_r`5Bi1`5D := escape + '`5B' + tmp_str `7B Ro Vw part `7D X end; X for i1 := 1 to 80 do X begin X writev(tmp_str,'00',i1:1); `7B Col char Vs`7D X tmp_str := substr(tmp_str,length(tmp_str)-1,2); X cursor_c`5Bi1`5D := ';' + tmp_str + 'H' `7B Col V part `7D X end X end; X 112 : `7B VT300 and ANSI X3.64 standard (/DEV=VT300)`7D X `7B Note that the row and column strings must always `7 VD X `7B of the same length `7 VD X begin X row_first := true; `7B Sequence is row,col `7D X cursor_erl := escape + '`5BK'; X cursor_erp := escape + '`5BJ'; X curlen_r := 4; X curlen_c := 4; X cursor_l := 8; X for i1 := 1 to 24 do X begin X writev(tmp_str,'00',i1:1); `7B Row char Vs`7D X tmp_str := substr(tmp_str,length(tmp_str)-1,2); X cursor_r`5Bi1`5D := escape + '`5B' + tmp_str `7B Ro Vw part `7D X end; X for i1 := 1 to 80 do X begin X writev(tmp_str,'00',i1:1); `7B Col char Vs`7D X tmp_str := substr(tmp_str,length(tmp_str)-1,2); X cursor_c`5Bi1`5D := ';' + tmp_str + 'H' `7B Col V part `7D X end X end; X otherwise X begin X writeln('*** ERROR : Terminal not supported ***'); X writeln('See TERMDEF.PAS for definning new terminals.'); X writeln('*** Terminals supported:'); X writeln(' VT52 Set Terminal/VT52'); X writeln(' VT100 Set Terminal/VT100'); X writeln(' VT200 Set Terminal/VT200'); X writeln(' VT300 Set Terminal/VT300'); X writeln(' Teleray 10 Set Terminal/FT1'); X writeln(' ADM-3A Set Terminal/FT2'); X writeln(' ADDS100 Set Terminal/FT3'); X writeln(' IBM3101 Set Terminal/FT4'); X writeln; X exit X end X end Xend; $ CALL UNPACK [.SOURCE.INCLUDE]TERMDEF.INC;1 1898873430 $ create 'f' X type X byteint = `5Bbyte`5D 0..255; X bytlint = `5Bbyte`5D -128..127; `20 X wordint = `5Bword`5D 0..65535; X worlint = `5Bword`5D -32768..32767; X quad_type = record X l0 : unsigned; X l1 : unsigned; X end; X atype = varying `5B16`5D of char; X btype = varying `5B14`5D of char; X ctype = varying `5B26`5D of char; X dtype = varying `5B5`5D of char; X etype = varying `5B60`5D of char; X mtype = varying `5B190`5D of char; X ntype = varying`5B1024`5D of char; X ttype = varying `5B68`5D of char; X vtype = varying `5B80`5D of char; X stat_type = packed array `5B1..6`5D of char; X obj_set = set of 0..255; X char_set = set of 'A'..'z'; X key_type = record `7B For char saver `7 VD X file_id : `5Bkey(0)`5D packed array `5B1..70`5D of char; X seed : integer; X end; X creature_type = record X name : ctype; `7B Descrip of creature `7D X cmove : unsigned; `7B Bit field `7D X spells : unsigned; `7B Creature spells `7D X cdefense: unsigned; `7B Bit field `7D X sleep : worlint; `7B Inactive counter `7D X mexp : wordint; `7B Exp value for kill `7D X aaf : byteint; `7B Area affect radius `7D X ac : byteint; `7B AC `7D X speed : bytlint; `7B Movement speed `7D X cchar : char; `7B Character rep. `7D X hd : dtype; `7B Creatures hit die `7D X damage : etype; `7B Type attack and damage`7D X level : byteint; `7B Level of creature `7D X end; X monster_type = record X hp : worlint; `7B Hit points `7D X csleep : worlint; `7B Inactive counter `7D X cdis : worlint; `7B Cur dis from player `7D X mptr : wordint; `7B Pointer into creature `7D X nptr : wordint; `7B Pointer to next block `7D X cspeed : bytlint; `7B Movement speed `7D X`20 X `7B Note: FY and FX constrain dungeon size to 255 `7 VD X fy : byteint; `7B Y Pointer into map `7D X fx : byteint; `7B X Pointer into map `7D X`20 X stuned : `5Bbit(6),pos(104)`5D -32..31; `7B Rounds stunned` V7D X ml : `5Bbit(1),pos(110)`5D boolean; `7B On if shown ` V7D X confused: `5Bbit(1),pos(111)`5D boolean; `7B On if confused` V7D X end; X treasure_type = record X name : ttype; `7B Object name `7D X tval : byteint; `7B Catagory number `7D X tchar : char; `7B Character representation`7D X flags : unsigned; `7B Special flags `7D X p1 : integer; `7B Misc. use variable `7D X cost : integer; `7B Cost of item `7D X subval : integer; `7B Sub-catagory number `7D X weight : wordint; `7B Weight `7D X number : wordint; `7B Number of items `7D X tohit : worlint; `7B Pluses to hit `7D X todam : worlint; `7B Pluses to damage `7D X ac : worlint; `7B Normal AC `7D X toac : worlint; `7B Pluses to AC `7D X damage : dtype; `7B Damage when hits `7D X level : bytlint; `7B Level item found `7D X end; X player_type = record X misc : record X name : vtype; `7B Name of character `7D X race : vtype; `7B Race of character `7D X sex : vtype; `7B Sex of character `7D X title : vtype; `7B Character's title `7D X tclass : vtype; `7B Character's class `7D X max_exp : integer; `7B Max experience`7D X exp : integer; `7B Cur experienc `7D X au : integer; `7B Gold `7D X age : wordint; `7B Characters age`7D X ht : wordint; `7B Height `7D X wt : wordint; `7B Weight `7D X lev : wordint; `7B Level `7D X max_lev : wordint; `7B Max level explored`7D X srh : worlint; `7B Chance in search`7D X fos : worlint; `7B Frenq of search`7D X bth : worlint; `7B Base to hit `7D X bthb : worlint; `7B BTH with bows `7D X mana : worlint; `7B Mana points `7D X mhp : worlint; `7B Max hit pts `7D X ptohit : worlint; `7B Pluses to hit `7D X ptodam : worlint; `7B Pluses to dam `7D X pac : worlint; `7B Total AC `7D X ptoac : worlint; `7B Magical AC `7D +-+-+-+-+-+-+-+- END OF PART 66 +-+-+-+-+-+-+-+-