-
Notifications
You must be signed in to change notification settings - Fork 30
/
Apus.Engine.IOSgame.pas
109 lines (94 loc) · 3.14 KB
/
Apus.Engine.IOSgame.pas
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
// Game class for iOS (OpenGL)
//
// Copyright (C) 2012 Ivan Polyacov, Apus Software (ivan@apus-software.com)
// This file is licensed under the terms of BSD-3 license (see license.txt)
// This file is a part of the Apus Game Engine (http://apus-software.com/engine/)
unit Apus.Engine.IOSgame;
interface
uses Apus.Common,Apus.Engine.API,Apus.Images,Classes,Apus.Engine.Game;
{type
TIOSGame=class(TGame)
constructor Create;
protected
procedure ApplySettings; override;
// Эти методы используются при смене режима работы (вызов только из главного потока)
procedure InitGraph; override; // Инициализация графической части (переключить режим и все такое прочее)
procedure DoneGraph; override; // Финализация графической части
procedure PresentFrame; override;
procedure ChoosePixelFormats(needMem:integer); override;
procedure InitObjects; override;
public
function GetStatus(n:integer):string; override;
end;}
implementation
(* uses SysUtils,{$IFDEF IOS}gles11,{$ENDIF}Apus.Engine.CmdProc{$IFDEF DELPHI},graphics{$ENDIF},
GLImages,EventMan,UIClasses,UIScene,gfxformats,
Console,PainterGL; *)
(*
{ TGlGame }
procedure TIOSGame.ApplySettings;
var
i:integer;
begin
if running then begin // смена параметров во время работы
//if texman<>nil then (texman as TDXTextureMan).releaseAll;
Signal('Debug\Settings Changing');
end;
if running then begin
InitGraph;
//if texman<>nil then (texman as TDXTextureMan).ReCreateAll;
if painter<>nil then (painter as TGLPainter).Reset;
for i:=low(scenes) to high(scenes) do
if scenes[i]<>nil then scenes[i].ModeChanged;
end;
end;
// Эта процедура пытается установить запрошенный видеорежим
// В случае ошибки она просто бросит исключение
procedure TIOSGame.InitGraph;
begin
{ Signal('Engine\BeforeInitGraph');
// Установить размеры окна и включить его
ScreenRect:=rect(0,0,params.width,params.height);
SetWindowArea(params.width,params.height,screenRect);}
AfterInitGraph;
end;
procedure TIOSGame.InitObjects;
begin
texman:=TGLTextureMan.Create(1024*BestVidMem);
painter:=TGLPainter.Create(self);
end;
procedure TIOSGame.PresentFrame;
begin
FLog('Present');
Signal('Engine\PresentFrame');
inc(FrameNum);
// (painter as TGLPainter).outputPos:=Point(0,0);
end;
procedure TIOSGame.ChoosePixelFormats(needMem:integer);
begin
pfTrueColor:=ipf565;
pfTrueColorAlpha:=ipfARGB;
pfTrueColorLow:=ipf565;
pfTrueColorAlphaLow:=ipfARGB;
pfRTLow:=ipf565;
pfRTNorm:=ipfARGB;
pfRTHigh:=ipfARGB;
pfRTAlphaLow:=ipfARGB;
pfRTAlphaNorm:=ipfARGB;
pfRTAlphaHigh:=ipfARGB;
end;
constructor TIOSGame.Create;
begin
inherited Create(20);
useMainThread:=false;
end;
procedure TIOSGame.DoneGraph;
begin
inherited;
end;
function TIOSGame.GetStatus(n: integer): string;
begin
result:='';
end;
*)
end.