source: oup/releases/0.31a/Unit3_data.pas@ 1009

Last change on this file since 1009 was 34, checked in by alloc, 18 years ago
File size: 2.7 KB
RevLine 
[34]1unit Unit3_data;
2interface
3uses Classes;
4
5const
6 Version:String='v0.31a';
7 DBVersion:String='0.2';
8 CrLf:String[2]=#13+#10;
9
10type
11 TData=Array of Byte;
12 THeader=packed Record
13 Ident:Array[0..$13] of Byte;
14 Files:LongWord;
15 NamedFiles:LongWord;
16 Extensions:LongWord;
17 DataAddr:LongWord;
18 DataSize:LongWord;
19 NamesAddr:LongWord;
20 NamesSize:LongWord;
21 Ident2:Array[0..$F] of Byte;
22 end;
23 TFilesMap=Array of packed Record
24 Extension:Array[0..$3] of Char;
25 DataAddr:LongWord;
26 NameAddr:LongWord;
27 FileSize:LongWord;
28 FileType:LongWord;
29 end;
30 TFileInfo=packed Record
31 ID:Integer;
32 FileName:String;
33 FileNameHex:String;
34 Extension:String[4];
35 Name:String;
36 Size:LongWord;
37 FileType:LongWord;
38 DatAddr:LongWord;
39 opened:Boolean;
40 end;
41 TFiles=Array of TFileInfo;
42
43 TNamedFilesMap=Array of packed Record
44 FileNumber:LongWord;
45 blubb:LongWord;
46 end;
47 TExtensionsMap=Array of packed Record
48 Ident:Array[0..$7] of Byte;
49 Extension:Array[0..$3] of Char;
50 ExtCount:LongWord;
51 end;
52
53 TLevelInfo=Record
54 Ident:Array[0..$13] of Byte;
55 LevelNumber:Byte;
56 end;
57
58 TAppSettings=Record
59 DatPath:String[250];
60 ExtractPath:String[250];
61 FilenumbersAsHex:Boolean;
62 end;
63
64 TExportHandlers=Record
65 Ext:String[4];
66 needed:Boolean;
67 Handler:Function(fileid:LongWord; filename:String; convert:Boolean):Integer;
68 end;
69
70 TStringArray=Array of String;
71 TExtList=Array of Record
72 Ext:String;
73 count:LongWord;
74 end;
75
76 TRawInfo=Record
77 src_id:LongWord;
78 src_offset:LongWord;
79 raw_addr:LongWord;
80 raw_size:LongWord;
81 loc_sep:Boolean;
82 end;
83 TRawList=Array of TRawInfo;
84
85var
86{
87 opened_state:Byte=0;
88 dat_filename:String='';
89 raw_filename:String='';
90 dat_os_mac:Boolean=False;
91 dat_header:Theader;
92 dat_filesmap:Tfilesmap;
93 dat_files:Tfiles;
94 dat_namedfilesmap:Tnamedfilesmap;
95 dat_extensionsmap:Textensionsmap;
96}
97 AppSettings:TAppSettings;
98 AppSettingsFile:File of TAppSettings;
99{
100 database_level:LongWord;
101 database_ident:Array[0..$13] of Byte;
102}
103const
104{ header_ident1_pc:Array[0..$13] of Byte=
105 ($1F,$27,$DC,$33,$DF,$BC,$03,$00,$31,$33,$52,$56,$40,$00,$14,$00,$10,$00,$08,$00);
106 header_ident1_mac:Array[0..$13] of Byte=
107 ($61,$30,$C1,$23,$DF,$BC,$03,$00,$31,$33,$52,$56,$40,$00,$14,$00,$10,$00,$08,$00);
108 header_ident2:Array[0..$F] of Byte=
109 ($99,$CF,$40,$00,$90,$4F,$63,$00,$F4,$55,$5F,$00,$90,$4F,$63,$00);
110}
111 export_noerror:Integer=0;
112 export_nohandler:Integer=1;
113 export_handlererror:Integer=2;
114 export_error:Integer=3;
115{
116 opened_nothing:Byte=0;
117 opened_dat:Byte=1;
118 opened_db:Byte=2;
119}
120implementation
121
122end.
123
Note: See TracBrowser for help on using the repository browser.