-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathassethelper.pas
More file actions
127 lines (95 loc) · 2.3 KB
/
assethelper.pas
File metadata and controls
127 lines (95 loc) · 2.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
unit assethelper;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils;
type
TFakeFile = class
function filesize:int64;virtual;abstract;
procedure blockread(var buf;siz:int64);virtual;abstract;
procedure reset(i:int64);virtual;abstract;
procedure seek(pos:int64);virtual;abstract;
end;
TFakeTextFile = class
function eof():boolean;virtual;abstract;
procedure readln(var str:string); virtual;abstract;
procedure reset;virtual;abstract;
end;
TAssetHelper = class
function createfile( name:string):TFakefile;virtual;abstract;
function createtextfile( name:string):tfaketextfile;virtual;abstract;
end;
procedure assign(out f:tfakefile; name:string);
procedure reset(var f:tfakefile;i:int64);
function filesize(var f:TFakeFile):int64;
procedure seek(var f:tfakefile;pos:int64);
procedure blockread(var f:TFakeFile;var buf;size:int64);
procedure close(var f:tfakefile);
procedure tassign(out f:tfaketextfile; name:string);
procedure treset(f:tfaketextfile);
//function filesize(f:TFakeFile):int64;
procedure treadln(f:tfaketextfile;var str:string);
procedure tclose(f:tfaketextfile);
function teof(f:tfaketextfile):boolean;
var assets:TAssetHelper;
procedure logw(text:pchar);
implementation
{$ifdef android}
uses castleandroidlog;
procedure logw(text:pchar);
begin
androidlog(alInfo,text);
end;
{$else}
uses castlelog;
procedure logw(text:pchar);
begin
writelnlog('log',text);
end;
{$endif}
procedure assign(out f:tfakefile; name:string);
begin
f:=assets.createfile(name);
end;
procedure close(var f:tfakefile);
begin
f.free;
end;
procedure reset(var f:tfakefile;i:int64);
begin
f.reset(i);
end;
function filesize(var f:TFakeFile):int64;
begin
result:=f.filesize;
end;
procedure blockread(var f:TFakeFile;var buf;size:int64);
begin
f.blockread(buf,size);
end;
procedure tassign(out f:tfaketextfile; name:string);
begin
f:=assets.createtextfile(name);
end;
procedure treset(f:tfaketextfile);
begin
f.reset();
end;
//function filesize(f:TFakeFile):int64;
procedure treadln(f:tfaketextfile;var str:string);
begin
f.readln(str);
end;
procedure tclose(f:tfaketextfile);
begin
f.free;
end;
function teof(f:tfaketextfile):boolean;
begin
result:=f.eof;
end;
procedure seek(var f:tfakefile;pos:int64);
begin
f.seek(pos);
end;
end.