1 define <export> {
2 SPRITE3D_NOFILTER = 0
3 SPRITE3D_BILINEAR = 1
4
5 D3DBLEND_ZERO = 1
6 D3DBLEND_ONE = 2
7 D3DBLEND_SRCCOLOR = 3
8 D3DBLEND_INVSRCCOLOR = 4
9 D3DBLEND_SRCALPHA = 5
10 D3DBLEND_INVSRCALPHA = 6
11 D3DBLEND_DESTALPHA = 7
12 D3DBLEND_INVDESTALPHA = 8
13 D3DBLEND_DESTCOLOR = 9
14 D3DBLEND_INVDESTCOLOR = 10
15 D3DBLEND_SRCALPHASAT = 11
16 D3DBLEND_BOTHSRCALPHA = 12
17 D3DBLEND_BOTHINVSRCALPHA = 13
18 }
19
20 type Sprite3D <inherit = GAPI_Object>:
21
22 global {
23 int GE_Sprite3DQuality = $SPRITE3D_BILINEAR
24 }
25
26 operator Sprite3D = (Sprite3D left, int right){ //создание объекта Sprite3D по хэнделу спрайта
27 left.id = right
28 return left
29 }
30 method int Sprite3D.Create(Sprite2D Sprite){
31 this.id = Sprite3D_Create(Sprite.id)
32 return this.id
33 }
34 method Sprite3D.Show(int x y){
35 Sprite3D_Display(this.id,x,y,255)
36 }
37 method Sprite3D.Show(int x y transparent){
38 Sprite3D_Display(this.id,x,y,transparent)
39 }
40 method Sprite3D.Free(){
41 Sprite3D_Free(this.id)
42 }
43 property int Sprite3D.Exist{
44 return Sprite3D_Exist(this.id)
45 }
46 method Sprite3D.Rotate(int Angle){
47 Sprite3D_Rotate(this.id,Angle,0)
48 }
49 method Sprite3D.Rotate(int Angle Mode){
50 Sprite3D_Rotate(this.id,Angle,Mode)
51 }
52 method Sprite3D.Transform(int x1 y1 z1 x2 y2 z2 x3 y3 z3 x4 y4 z4){
53 Sprite3D_Transform(this.id,x1, y1, z1, x2, y2, z2, x3, y3, z3, x4, y4, z4)
54 }
55 method Sprite3D.Zoom(int width height){
56 Sprite3D_Zoom(this.id,width,height)
57 }
58 property int TScreen.Sprite3DQuality{
59 return GE_Sprite3DQuality
60 }
61 property TScreen.Sprite3DQuality(int q){
62 Sprite3D_SetQuality(q)
63 }
64 method TScreen.Start3D(){
65 Sprite3D_Start3D()
66 }
67 method TScreen.Stop3D(){
68 Sprite3D_Stop3D()
69 }
70 method TScreen.setSprite3DBlendMode(int SourceMode DestinationMode){
71 Sprite3D_BlendingMode(SourceMode, DestinationMode)
72 }
73