DEADSOFTWARE

Fix sunshine
[cavecraft.git] / src / gameui.mpsrc
1 unit gameui;
3 interface
4 const
5 UI_MAX_STACK=2;//3
6 UI_MAX_ELEMENTS=62;//63
8 UI_TYPE_NULL=0;
10 UI_ERROR=-1;
12 procedure NewUILayer;
13 procedure DelUILayer;
14 function addUIElement(el_type, x, y:integer):integer;
15 procedure delUIElement(i:integer);
16 procedure clearUIElements;
17 function getUIx(i:integer):integer;
18 function getUIy(i:integer):integer;
19 function getUIw(i:integer):integer;
20 function getUIh(i:integer):integer;
22 implementation
23 //Main UI functions and vars
24 var
25 layer:integer;
26 ui_type: array [0..UI_MAX_STACK, 0..UI_MAX_ELEMENTS] of integer;
27 ui_x: array [0..UI_MAX_STACK, 0..UI_MAX_ELEMENTS] of integer;
28 ui_y: array [0..UI_MAX_STACK, 0..UI_MAX_ELEMENTS] of integer;
30 procedure NewUILayer;
31 begin
32 layer:=layer+1;
33 //Test
34 ui_type[layer, 0]:=ui_type[layer, 0];
35 end;
37 procedure DelUILayer;
38 begin
39 layer:=layer-1;
40 //Test
41 ui_type[layer, 0]:=ui_type[layer, 0];
42 end;
44 //Return id added element or UI_ERROR
45 function addUIElement(el_type, x, y:integer):integer;
46 var
47 i:integer;
48 begin
49 for i:=0 to UI_MAX_ELEMENTS do
50 if ui_type[layer, i]=UI_TYPE_NULL then
51 begin
52 ui_type[layer, i]:=el_type;
53 ui_x[layer, i]:=x;
54 ui_y[layer, i]:=y;
55 addUIElement:=i;
56 exit;
57 end;
59 addUIElement:=UI_ERROR;
60 end;
62 procedure delUIElement(i:integer);
63 begin
64 ui_type[layer, i]:=UI_TYPE_NULL;
65 ui_x[layer, i]:=0;
66 ui_y[layer, i]:=0;
67 end;
69 procedure clearUIElements;
70 var
71 i:integer;
72 begin
73 for i:=0 to UI_MAX_ELEMENTS do
74 delUIElement(i);
75 end;
77 function getUIx(i:integer):integer;
78 begin
79 getUIx:=ui_x[layer, i];
80 end;
82 function getUIy(i:integer):integer;
83 begin
84 getUIy:=ui_y[layer, i];
85 end;
87 function getUIw(i:integer):integer;
88 begin
89 getUIw:=0;
90 end;
92 function getUIh(i:integer):integer;
93 begin
94 getUIh:=0;
95 end;
97 initialization
99 end.