Subversion Repositories Kolibri OS

Rev

Rev 5159 | Rev 8069 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5159 Rev 8062
Line 1... Line 1...
1
use32
1
use32
2
	org 0x0
2
	org 0
3
	db 'MENUET01'
3
	db 'MENUET01'
4
	dd 0x1
-
 
5
	dd start
-
 
6
	dd i_end
-
 
7
	dd mem,stacktop
-
 
8
	dd 0,cur_dir_path
4
	dd 1,start,i_end,mem,stacktop,0,cur_dir_path
9
 
5
 
10
include '../../../../../../programs/proc32.inc'
6
include '../../../../../proc32.inc'
11
include '../../../../../../programs/macros.inc'
7
include '../../../../../macros.inc'
-
 
8
include '../../../../../KOSfuncs.inc'
12
include '../../../../../../programs/develop/libraries/box_lib/load_lib.mac'
9
include '../../../../../develop/libraries/box_lib/load_lib.mac'
13
include '../../../../../../programs/dll.inc'
10
include '../../../../../dll.inc'
14
include '../opengl_const.inc'
11
include '../opengl_const.inc'
Line 15... Line 12...
15
 
12
 
Line 16... Line 13...
16
@use_library
13
@use_library
17
 
14
 
18
align 4
15
align 4
19
start:
16
start:
20
	load_library name_tgl, cur_dir_path, library_path, system_path, \
17
	load_library name_tgl, cur_dir_path, library_path, system_path, \
21
		err_message_found_lib, head_f_l, import_lib_tinygl, err_message_import, head_f_i
18
		err_message_found_lib, head_f_l, import_lib_tinygl, err_message_import, head_f_i
Line 22... Line 19...
22
	cmp eax,-1
19
	cmp eax,SF_TERMINATE_PROCESS
Line 23... Line 20...
23
	jz button.exit
20
	jz button.exit
24
 
21
 
Line 25... Line 22...
25
	mcall 40,0x27
22
	mcall SF_SET_EVENTS_MASK,0x27
Line 26... Line 23...
26
 
23
 
27
stdcall [kosglMakeCurrent], 10,10,300,225,ctx1
24
stdcall [kosglMakeCurrent], 10,10,300,225,ctx1
28
stdcall [glEnable], GL_DEPTH_TEST
25
stdcall [glEnable], GL_DEPTH_TEST
Line 29... Line 26...
29
 
26
 
30
call draw_3d
27
call draw_3d
31
 
28
 
32
align 4
29
align 4
33
red_win:
30
red_win:
34
	call draw_window
31
	call draw_window
35
 
32
 
36
align 4
33
align 16
Line 45... Line 42...
45
	jmp still
42
	jmp still
Line 46... Line 43...
46
 
43
 
47
align 4
44
align 4
48
draw_window:
45
draw_window:
49
	pushad
46
	pushad
Line 50... Line 47...
50
	mcall 12,1
47
	mcall SF_REDRAW,SSF_BEGIN_DRAW
51
 
48
 
52
	mov edx,0x33ffffff ;0x73ffffff
49
	mov edx,0x33ffffff ;0x73ffffff
Line 53... Line 50...
53
	mcall 0,(50 shl 16)+330,(30 shl 16)+275,,,caption
50
	mcall SF_CREATE_WINDOW,(50 shl 16)+330,(30 shl 16)+275,,,caption
54
	stdcall [kosglSwapBuffers]
51
	call [kosglSwapBuffers]
55
 
52
 
Line 56... Line 53...
56
	mcall 12,2
53
	mcall SF_REDRAW,SSF_END_DRAW
57
	popad
54
	popad
58
	ret
55
	ret
Line 59... Line 56...
59
 
56
 
60
align 4
57
align 4
Line 61... Line 58...
61
key:
58
key:
Line 70... Line 67...
70
	jne @f
67
	jne @f
71
		fld dword[angle_z]
68
		fld dword[angle_z]
72
		fadd dword[delt_size]
69
		fadd dword[delt_size]
73
		fstp dword[angle_z]
70
		fstp dword[angle_z]
74
		call draw_3d
71
		call draw_3d
75
		stdcall [kosglSwapBuffers]
72
		call [kosglSwapBuffers]
76
	@@:
73
	@@:
77
	cmp ah,179 ;Right
74
	cmp ah,179 ;Right
78
	jne @f
75
	jne @f
79
		fld dword[angle_z]
76
		fld dword[angle_z]
80
		fsub dword[delt_size]
77
		fsub dword[delt_size]
81
		fstp dword[angle_z]
78
		fstp dword[angle_z]
82
		call draw_3d
79
		call draw_3d
83
		stdcall [kosglSwapBuffers]
80
		call [kosglSwapBuffers]
84
	@@:
81
	@@:
Line 85... Line 82...
85
 
82
 
Line 86... Line 83...
86
	jmp still
83
	jmp still
87
 
84
 
88
align 4
85
align 4
89
button:
86
button:
90
	mcall 17
87
	mcall SF_GET_BUTTON
91
	cmp ah,1
88
	cmp ah,1
92
	jne still
89
	jne still
Line 93... Line 90...
93
.exit:
90
.exit:
94
	mcall -1
91
	mcall SF_TERMINATE_PROCESS
95
 
-
 
96
 
-
 
97
align 4
-
 
Line 98... Line 92...
98
caption db 'Test tinygl library, [Esc] - exit, [<-] and [->] - rotate',0
92
 
99
align 4
93
 
100
ctx1 db 28 dup (0) ;TinyGLContext or KOSGLContext
94
align 4
Line 101... Line 95...
101
;sizeof.TinyGLContext = 28
95
caption db 'Test tinygl library, [Esc] - exit, [<-] and [->] - rotate',0
102
 
96
 
Line 103... Line 97...
103
align 4
97
align 4
Line 104... Line 98...
104
draw_3d:
98
draw_3d:
Line 131... Line 125...
131
		stdcall [glVertex3f], -0.778, -0.778, 0.1
125
		stdcall [glVertex3f], -0.778, -0.778, 0.1
132
		stdcall [glVertex3f], -2.1, 0.0, 0.1
126
		stdcall [glVertex3f], -2.1, 0.0, 0.1
133
		stdcall [glVertex3f], -0.778, 0.778, 0.1
127
		stdcall [glVertex3f], -0.778, 0.778, 0.1
134
	stdcall [glEnd]
128
	stdcall [glEnd]
Line 135... Line 129...
135
 
129
 
136
stdcall [glPopMatrix]
130
call [glPopMatrix]
Line 137... Line 131...
137
ret
131
ret
138
 
132
 
Line 156... Line 150...
156
include '../export.inc'
150
include '../export.inc'
Line 157... Line 151...
157
 
151
 
158
;--------------------------------------------------
152
;--------------------------------------------------
159
system_path db '/sys/lib/'
153
system_path db '/sys/lib/'
160
name_tgl db 'tinygl.obj',0
-
 
-
 
154
name_tgl db 'tinygl.obj',0
161
err_message_found_lib db 'Sorry I cannot load library tinygl.obj',0
155
 
162
head_f_i:
156
head_f_i:
163
head_f_l db 'System error',0
157
head_f_l db '"System error',0
-
 
158
err_message_import db 'Error on load import library ',39,'tinygl.obj',39,'" -tE',0
164
err_message_import db 'Error on load import library tinygl.obj',0
159
err_message_found_lib db 'Sorry I cannot load library ',39,'tinygl.obj',39,'" -tE',0
Line -... Line 160...
-
 
160
;--------------------------------------------------
165
;--------------------------------------------------
161
 
-
 
162
align 16
-
 
163
i_end:
166
 
164
ctx1 db 28 dup (0) ;TinyGLContext or KOSGLContext
167
i_end:
165
;sizeof.TinyGLContext = 28
168
	rb 1024
166
	rb 1024
169
stacktop:
167
stacktop:
170
cur_dir_path:
168
cur_dir_path: