Subversion Repositories Kolibri OS

Rev

Rev 6288 | Rev 8174 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
5256 IgorA 1
use32
2
	org 0x0
3
	db 'MENUET01'
6286 IgorA 4
	dd 1,start,i_end,mem,stacktop,0,cur_dir_path
5256 IgorA 5
 
5381 IgorA 6
include '../../../../../proc32.inc'
7
include '../../../../../macros.inc'
6286 IgorA 8
include '../../../../../KOSfuncs.inc'
9
include '../../../../../load_img.inc'
5256 IgorA 10
include '../opengl_const.inc'
6286 IgorA 11
include '../../../../../develop/info3ds/info_fun_float.inc'
5256 IgorA 12
 
6286 IgorA 13
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
5256 IgorA 14
 
15
align 4
6286 IgorA 16
image_data_toolbar dd 0
17
IMAGE_TOOLBAR_ICON_SIZE equ 21*21*3
18
 
19
offs_zbuf_pbuf equ 24 ;const. from 'zbuffer.inc'
20
 
21
align 4
5256 IgorA 22
start:
6286 IgorA 23
load_libraries l_libs_start,l_libs_end
24
	;проверка на сколько удачно загузились библиотеки
25
	mov	ebp,lib_0
26
	.test_lib_open:
27
	cmp	dword [ebp+ll_struc_size-4],0
28
	jz	@f
29
		mcall SF_TERMINATE_PROCESS
30
	@@:
31
	add ebp,ll_struc_size
32
	cmp ebp,l_libs_end
33
	jl .test_lib_open
5256 IgorA 34
 
6286 IgorA 35
	mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,sizeof.system_colors
36
	mcall SF_SET_EVENTS_MASK,0x27
5256 IgorA 37
 
6286 IgorA 38
	stdcall [kosglMakeCurrent], 5,30,[buf_ogl.w],[buf_ogl.h],ctx1
39
	stdcall [glEnable], GL_DEPTH_TEST
40
	stdcall [glEnable], GL_NORMALIZE ;делам нормали одинаковой величины во избежание артефактов
41
	stdcall [gluNewQuadric]
42
	mov [qObj],eax
5256 IgorA 43
 
6286 IgorA 44
	stdcall [glClearColor], 0.25,0.25,0.25,0.0
45
	stdcall [glShadeModel], GL_SMOOTH
5256 IgorA 46
 
6286 IgorA 47
	mov eax,dword[ctx1] ;eax -> TinyGLContext.GLContext
48
	mov eax,[eax] ;eax -> ZBuffer
49
	mov eax,[eax+offs_zbuf_pbuf] ;eax -> ZBuffer.pbuf
50
	mov dword[buf_ogl],eax
5256 IgorA 51
 
6286 IgorA 52
	load_image_file 'font8x9.bmp', image_data_toolbar, buf_1.w,buf_1.h
53
	stdcall [buf2d_create_f_img], buf_1,[image_data_toolbar] ;создаем буфер
54
	stdcall mem.Free,[image_data_toolbar] ;освобождаем память
55
	stdcall [buf2d_conv_24_to_8], buf_1,1 ;делаем буфер прозрачности 8 бит
56
	stdcall [buf2d_convert_text_matrix], buf_1
57
 
58
	load_image_file 'toolb_1.png', image_data_toolbar
59
	call draw_3d
60
 
5256 IgorA 61
align 4
62
red_win:
63
	call draw_window
64
 
65
align 4
66
still:
6286 IgorA 67
	mcall SF_WAIT_EVENT
5256 IgorA 68
	cmp al,1
69
	jz red_win
70
	cmp al,2
71
	jz key
72
	cmp al,3
73
	jz button
74
	jmp still
75
 
76
align 4
77
draw_window:
78
	pushad
6286 IgorA 79
	mcall SF_REDRAW,SSF_BEGIN_DRAW
80
	mcall SF_CREATE_WINDOW,(50 shl 16)+420,(30 shl 16)+410,0x33ffffff,,caption
5256 IgorA 81
 
6286 IgorA 82
	mov esi,[sc.work_button]
83
	mcall SF_DEFINE_BUTTON,(6 shl 16)+19,(6 shl 16)+19,3+0x40000000 ;вершины вкл.
84
	mcall ,(36 shl 16)+19,,4+0x40000000 ;каркасные грани вкл.
85
	mcall ,(66 shl 16)+19,,5+0x40000000 ;сплошные грани вкл.
86
	mcall ,(96 shl 16)+19,,6+0x40000000 ;масштаб +
87
	mcall ,(126 shl 16)+19,,7+0x40000000 ;масштаб -
88
 
89
	mcall SF_PUT_IMAGE,[image_data_toolbar],(21 shl 16)+21,(5 shl 16)+5 ;вершины вкл.
90
	add ebx,IMAGE_TOOLBAR_ICON_SIZE
91
	mcall ,,,(35 shl 16)+5 ;каркасные грани вкл.
92
	add ebx,IMAGE_TOOLBAR_ICON_SIZE
93
	mcall ,,,(65 shl 16)+5 ;сплошные грани вкл.
94
	add ebx,IMAGE_TOOLBAR_ICON_SIZE
95
	mcall ,,,(95 shl 16)+5 ;масштаб +
96
	add ebx,IMAGE_TOOLBAR_ICON_SIZE
97
	mcall ,,,(125 shl 16)+5 ;масштаб -
98
 
5256 IgorA 99
	stdcall [kosglSwapBuffers]
6286 IgorA 100
	mcall SF_REDRAW,SSF_END_DRAW
5256 IgorA 101
	popad
102
	ret
103
 
104
align 4
105
key:
6286 IgorA 106
	mcall SF_GET_KEY
5256 IgorA 107
 
108
	cmp ah,27 ;Esc
109
	je button.exit
110
 
111
	cmp ah,61 ;+
112
	jne @f
6286 IgorA 113
		call but_zoom_p
114
		jmp still
5256 IgorA 115
	@@:
116
	cmp ah,45 ;-
117
	jne @f
6286 IgorA 118
		call but_zoom_m
119
		jmp still
5256 IgorA 120
	@@:
121
	cmp ah,178 ;Up
122
	jne @f
6286 IgorA 123
		finit
5256 IgorA 124
		fld dword[angle_y]
125
		fadd dword[delt_size]
6286 IgorA 126
		fst dword[angle_y]
127
		mov word[NumberSymbolsAD],2
128
		fstp qword[Data_Double]
129
		call DoubleFloat_to_String
130
		mov byte[txt_angle_y.v],0
131
		stdcall str_cat, txt_angle_y.v,Data_String
5256 IgorA 132
		call draw_3d
133
		stdcall [kosglSwapBuffers]
134
	@@:
135
	cmp ah,177 ;Down
136
	jne @f
6286 IgorA 137
		finit
5256 IgorA 138
		fld dword[angle_y]
139
		fsub dword[delt_size]
6286 IgorA 140
		fst dword[angle_y]
141
		mov word[NumberSymbolsAD],2
142
		fstp qword[Data_Double]
143
		call DoubleFloat_to_String
144
		mov byte[txt_angle_y.v],0
145
		stdcall str_cat, txt_angle_y.v,Data_String
5256 IgorA 146
		call draw_3d
147
		stdcall [kosglSwapBuffers]
148
	@@:
149
	cmp ah,176 ;Left
150
	jne @f
6286 IgorA 151
		finit
5256 IgorA 152
		fld dword[angle_z]
153
		fadd dword[delt_size]
6286 IgorA 154
		fst dword[angle_z]
155
		mov word[NumberSymbolsAD],2
156
		fstp qword[Data_Double]
157
		call DoubleFloat_to_String
158
		mov byte[txt_angle_z.v],0
159
		stdcall str_cat, txt_angle_z.v,Data_String
5256 IgorA 160
		call draw_3d
161
		stdcall [kosglSwapBuffers]
162
	@@:
163
	cmp ah,179 ;Right
164
	jne @f
6286 IgorA 165
		finit
5256 IgorA 166
		fld dword[angle_z]
167
		fsub dword[delt_size]
6286 IgorA 168
		fst dword[angle_z]
169
		mov word[NumberSymbolsAD],2
170
		fstp qword[Data_Double]
171
		call DoubleFloat_to_String
172
		mov byte[txt_angle_z.v],0
173
		stdcall str_cat, txt_angle_z.v,Data_String
5256 IgorA 174
		call draw_3d
175
		stdcall [kosglSwapBuffers]
176
	@@:
177
 
178
	jmp still
179
 
180
align 4
181
button:
6286 IgorA 182
	mcall SF_GET_BUTTON
183
	cmp ah,3
184
	jne @f
185
		call but_st_point
186
		jmp still
187
	@@:
188
	cmp ah,4
189
	jne @f
190
		call but_st_line
191
		jmp still
192
	@@:
193
	cmp ah,5
194
	jne @f
195
		call but_st_face
196
		jmp still
197
	@@:
198
	cmp ah,6
199
	jne @f
200
		call but_zoom_p
201
		jmp still
202
	@@:
203
	cmp ah,7
204
	jne @f
205
		call but_zoom_m
206
		jmp still
207
	@@:
5256 IgorA 208
	cmp ah,1
209
	jne still
210
.exit:
211
	stdcall [gluDeleteQuadric], [qObj]
6286 IgorA 212
	stdcall mem.Free,[image_data_toolbar]
213
	mcall SF_TERMINATE_PROCESS
5256 IgorA 214
 
6286 IgorA 215
align 4
216
but_st_point:
217
	stdcall [gluQuadricDrawStyle], [qObj],GLU_POINT
218
	call draw_3d
219
	stdcall [kosglSwapBuffers]
220
	ret
5256 IgorA 221
 
222
align 4
6286 IgorA 223
but_st_line:
224
	stdcall [gluQuadricDrawStyle], [qObj],GLU_LINE
225
	call draw_3d
226
	stdcall [kosglSwapBuffers]
227
	ret
228
 
5256 IgorA 229
align 4
6286 IgorA 230
but_st_face:
231
	stdcall [gluQuadricDrawStyle], [qObj],GLU_FILL
232
	call draw_3d
233
	stdcall [kosglSwapBuffers]
234
	ret
235
 
236
align 4
237
but_zoom_p:
238
	finit
239
	fld dword[scale]
240
	fadd dword[sc_delt]
241
	fcom dword[sc_max]
242
	fstsw ax
243
	sahf
244
	jbe @f
245
		ffree st0
246
		fincstp
247
		fld dword[sc_max]
248
	@@:
249
	fst dword[scale]
250
	mov word[NumberSymbolsAD],3
251
	fstp qword[Data_Double]
252
	call DoubleFloat_to_String
253
	mov byte[txt_scale.v],0
254
	stdcall str_cat, txt_scale.v,Data_String
255
	call draw_3d
256
	stdcall [kosglSwapBuffers]
257
	ret
258
 
259
align 4
260
but_zoom_m:
261
	finit
262
	fld dword[scale]
263
	fsub dword[sc_delt]
264
	fcom dword[sc_min]
265
	fstsw ax
266
	sahf
267
	ja @f
268
		ffree st0
269
		fincstp
270
		fld dword[sc_min]
271
	@@:
272
	fst dword[scale]
273
	mov word[NumberSymbolsAD],3
274
	fstp qword[Data_Double]
275
	call DoubleFloat_to_String
276
	mov byte[txt_scale.v],0
277
	stdcall str_cat, txt_scale.v,Data_String
278
	call draw_3d
279
	stdcall [kosglSwapBuffers]
280
	ret
281
 
282
 
283
align 4
284
caption db 'Test gluCylinder, [Esc] - exit, [<-],[->],[Up],[Down] - rotate',0
285
align 4
5256 IgorA 286
ctx1 db 28 dup (0) ;TinyGLContext or KOSGLContext
287
;sizeof.TinyGLContext = 28
288
 
6286 IgorA 289
rad1 dq 1.0
290
rad2 dq 0.55
291
rad3 dq 0.15
292
hei1 dq 2.0 ;высота цилиндра
293
hei2 dq 1.25
294
 
5256 IgorA 295
align 4
296
draw_3d:
297
stdcall [glClear], GL_COLOR_BUFFER_BIT + GL_DEPTH_BUFFER_BIT ;очистим буфер цвета и глубины
298
 
299
stdcall [glPushMatrix]
300
	call SetLight
301
 
302
	stdcall [glTranslatef], 0.0,0.0,0.5
303
	stdcall [glScalef], [scale], [scale], [scale]
6286 IgorA 304
	stdcall [glScalef], 1.0, 1.0, 0.5
5256 IgorA 305
 
5278 IgorA 306
	stdcall [glColor3f], 1.0, 1.0, 0.0
5256 IgorA 307
	stdcall [glRotatef], [angle_z],0.0,0.0,1.0
308
	stdcall [glRotatef], [angle_y],0.0,1.0,0.0
6286 IgorA 309
	stdcall [glTranslatef], 0.0,0.0,-1.0 ;опускаем цилинды вниз
310
	stdcall [gluCylinder], [qObj], rad1,rad1,hei1, 32,8
5256 IgorA 311
 
312
	stdcall [glColor3f], 1.0, 0.0, 0.0
313
	stdcall [glTranslatef], -1.6,0.0,0.0
6286 IgorA 314
	stdcall [gluCylinder], [qObj], rad2,rad3,hei2, 16,8
5256 IgorA 315
 
316
	stdcall [glColor3f], 0.0, 0.0, 1.0
317
	stdcall [glTranslatef], 3.2,0.0,0.0
6286 IgorA 318
	stdcall [gluCylinder], [qObj], rad2,rad3,hei2, 16,8
5256 IgorA 319
stdcall [glPopMatrix]
320
 
6286 IgorA 321
	stdcall [buf2d_draw_text], buf_ogl, buf_1,txt_scale,5,5,0xffff00
322
	stdcall [buf2d_draw_text], buf_ogl, buf_1,txt_angle_z,5,15,0xffff00
323
	stdcall [buf2d_draw_text], buf_ogl, buf_1,txt_angle_y,5,25,0xffff00
324
	ret
325
 
5256 IgorA 326
align 4
327
SetLight:
5381 IgorA 328
	stdcall [glLightfv], GL_LIGHT0, GL_POSITION, light_position
329
	stdcall [glLightfv], GL_LIGHT0, GL_SPOT_DIRECTION, light_dir
5256 IgorA 330
 
5381 IgorA 331
	stdcall [glLightfv], GL_LIGHT0, GL_DIFFUSE, white_light
332
	stdcall [glLightfv], GL_LIGHT0, GL_SPECULAR, white_light
5256 IgorA 333
 
334
	stdcall [glEnable], GL_COLOR_MATERIAL
335
	stdcall [glColorMaterial], GL_FRONT, GL_AMBIENT_AND_DIFFUSE
336
	stdcall [glMaterialfv], GL_FRONT, GL_SPECULAR, mat_specular
337
	stdcall [glMaterialf], GL_FRONT, GL_SHININESS, mat_shininess
5381 IgorA 338
	stdcall [glLightModelfv], GL_LIGHT_MODEL_AMBIENT, lmodel_ambient
339
 
5256 IgorA 340
	stdcall [glEnable],GL_LIGHTING
5381 IgorA 341
	stdcall [glEnable],GL_LIGHT0
5256 IgorA 342
ret
343
 
344
qObj dd 0
345
 
6286 IgorA 346
scale dd 0.4 ;начальный масштаб
347
sc_delt dd 0.05 ;изменение масштаба при нажатии
348
sc_min dd 0.1 ;минимальный масштаб
349
sc_max dd 1.1 ;максимальный масштаб
350
angle_z dd -45.0
351
angle_y dd -150.0
5256 IgorA 352
delt_size dd 3.0
353
 
5278 IgorA 354
light_position dd 3.0, 2.0, -10.0, 1.0 ; Расположение источника [0][1][2]
355
	;[3] = (0.0 - бесконечно удаленный источник, 1.0 - источник света на определенном расстоянии)
5256 IgorA 356
light_dir dd 0.0,0.0,0.0 ;направление лампы
5278 IgorA 357
mat_specular dd 0.1, 0.1, 0.1, 1.0 ; Цвет блика
5256 IgorA 358
mat_shininess dd 3.0 ; Размер блика (обратная пропорция)
359
white_light dd 0.8, 0.8, 0.8, 1.0 ; Цвет и интенсивность освещения, генерируемого источником
360
lmodel_ambient dd 0.2, 0.2, 0.2, 1.0 ; Параметры фонового освещения
361
 
362
;--------------------------------------------------
363
align 4
364
import_lib_tinygl:
365
 
366
macro E_LIB n
367
{
368
	n dd sz_#n
369
}
370
include '../export.inc'
371
	dd 0,0
372
macro E_LIB n
373
{
374
	sz_#n db `n,0
375
}
376
include '../export.inc'
377
 
6286 IgorA 378
align 4
379
import_buf2d:
380
	dd sz_init0
381
	buf2d_create dd sz_buf2d_create
382
	buf2d_create_f_img dd sz_buf2d_create_f_img
383
	buf2d_clear dd sz_buf2d_clear
384
	buf2d_draw dd sz_buf2d_draw
385
	buf2d_delete dd sz_buf2d_delete
386
	buf2d_resize dd sz_buf2d_resize
387
	buf2d_line dd sz_buf2d_line
388
	buf2d_rect_by_size dd sz_buf2d_rect_by_size
389
	buf2d_filled_rect_by_size dd sz_buf2d_filled_rect_by_size
390
	buf2d_circle dd sz_buf2d_circle
391
	buf2d_img_hdiv2 dd sz_buf2d_img_hdiv2
392
	buf2d_img_wdiv2 dd sz_buf2d_img_wdiv2
393
	buf2d_conv_24_to_8 dd sz_buf2d_conv_24_to_8
394
	buf2d_conv_24_to_32 dd sz_buf2d_conv_24_to_32
395
	buf2d_bit_blt dd sz_buf2d_bit_blt
396
	buf2d_bit_blt_transp dd sz_buf2d_bit_blt_transp
397
	buf2d_bit_blt_alpha dd sz_buf2d_bit_blt_alpha
398
	buf2d_curve_bezier dd sz_buf2d_curve_bezier
399
	buf2d_convert_text_matrix dd sz_buf2d_convert_text_matrix
400
	buf2d_draw_text dd sz_buf2d_draw_text
401
	buf2d_crop_color dd sz_buf2d_crop_color
402
	buf2d_offset_h dd sz_buf2d_offset_h
403
	buf2d_flood_fill dd sz_buf2d_flood_fill
404
	buf2d_set_pixel dd sz_buf2d_set_pixel
405
	dd 0,0
406
	sz_init0 db 'lib_init',0
407
	sz_buf2d_create db 'buf2d_create',0
408
	sz_buf2d_create_f_img db 'buf2d_create_f_img',0
409
	sz_buf2d_clear db 'buf2d_clear',0
410
	sz_buf2d_draw db 'buf2d_draw',0
411
	sz_buf2d_delete db 'buf2d_delete',0
412
	sz_buf2d_resize db 'buf2d_resize',0
413
	sz_buf2d_line db 'buf2d_line',0
414
	sz_buf2d_rect_by_size db 'buf2d_rect_by_size',0
415
	sz_buf2d_filled_rect_by_size db 'buf2d_filled_rect_by_size',0
416
	sz_buf2d_circle db 'buf2d_circle',0
417
	sz_buf2d_img_hdiv2 db 'buf2d_img_hdiv2',0
418
	sz_buf2d_img_wdiv2 db 'buf2d_img_wdiv2',0
419
	sz_buf2d_conv_24_to_8 db 'buf2d_conv_24_to_8',0
420
	sz_buf2d_conv_24_to_32 db 'buf2d_conv_24_to_32',0
421
	sz_buf2d_bit_blt db 'buf2d_bit_blt',0
422
	sz_buf2d_bit_blt_transp db 'buf2d_bit_blt_transp',0
423
	sz_buf2d_bit_blt_alpha db 'buf2d_bit_blt_alpha',0
424
	sz_buf2d_curve_bezier db 'buf2d_curve_bezier',0
425
	sz_buf2d_convert_text_matrix db 'buf2d_convert_text_matrix',0
426
	sz_buf2d_draw_text db 'buf2d_draw_text',0
427
	sz_buf2d_crop_color db 'buf2d_crop_color',0
428
	sz_buf2d_offset_h db 'buf2d_offset_h',0
429
	sz_buf2d_flood_fill db 'buf2d_flood_fill',0
430
	sz_buf2d_set_pixel db 'buf2d_set_pixel',0
431
 
432
align 4
433
import_libimg:
434
	dd alib_init1
435
	img_is_img  dd aimg_is_img
436
	img_info    dd aimg_info
437
	img_from_file dd aimg_from_file
438
	img_to_file dd aimg_to_file
439
	img_from_rgb dd aimg_from_rgb
440
	img_to_rgb  dd aimg_to_rgb
441
	img_to_rgb2 dd aimg_to_rgb2
442
	img_decode  dd aimg_decode
443
	img_encode  dd aimg_encode
444
	img_create  dd aimg_create
445
	img_destroy dd aimg_destroy
446
	img_destroy_layer dd aimg_destroy_layer
447
	img_count   dd aimg_count
448
	img_lock_bits dd aimg_lock_bits
449
	img_unlock_bits dd aimg_unlock_bits
450
	img_flip    dd aimg_flip
451
	img_flip_layer dd aimg_flip_layer
452
	img_rotate  dd aimg_rotate
453
	img_rotate_layer dd aimg_rotate_layer
454
	img_draw    dd aimg_draw
455
 
456
	dd 0,0
457
	alib_init1   db 'lib_init',0
458
	aimg_is_img  db 'img_is_img',0 ;определяет по данным, может ли библиотека сделать из них изображение
459
	aimg_info    db 'img_info',0
460
	aimg_from_file db 'img_from_file',0
461
	aimg_to_file db 'img_to_file',0
462
	aimg_from_rgb db 'img_from_rgb',0
463
	aimg_to_rgb  db 'img_to_rgb',0 ;преобразование изображения в данные RGB
464
	aimg_to_rgb2 db 'img_to_rgb2',0
465
	aimg_decode  db 'img_decode',0 ;автоматически определяет формат графических данных
466
	aimg_encode  db 'img_encode',0
467
	aimg_create  db 'img_create',0
468
	aimg_destroy db 'img_destroy',0
469
	aimg_destroy_layer db 'img_destroy_layer',0
470
	aimg_count   db 'img_count',0
471
	aimg_lock_bits db 'img_lock_bits',0
472
	aimg_unlock_bits db 'img_unlock_bits',0
473
	aimg_flip    db 'img_flip',0
474
	aimg_flip_layer db 'img_flip_layer',0
475
	aimg_rotate  db 'img_rotate',0
476
	aimg_rotate_layer db 'img_rotate_layer',0
477
	aimg_draw    db 'img_draw',0
478
 
5256 IgorA 479
;--------------------------------------------------
6737 leency 480
system_dir_0 db '/sys/lib/'
6286 IgorA 481
lib_name_0 db 'tinygl.obj',0
482
system_dir_1 db '/sys/lib/'
483
lib_name_1 db 'buf2d.obj',0
484
system_dir_2 db '/sys/lib/'
485
lib_name_2 db 'libimg.obj',0
486
err_msg_found_lib_0 db 'Sorry I cannot load library ',39,'tinygl.obj',39,0
487
err_msg_found_lib_1 db 'Sorry I cannot load library ',39,'buf2d.obj',39,0
488
err_msg_found_lib_2 db 'Sorry I cannot load library ',39,'libimg.obj',39,0
5256 IgorA 489
head_f_i:
490
head_f_l db 'System error',0
6286 IgorA 491
err_msg_import_0 db 'Error on load import library ',39,'tinygl.obj',39,0
492
err_msg_import_1 db 'Error on load import library ',39,'buf2d.obj',39,0
493
err_msg_import_2 db 'Error on load import library ',39,'libimg.obj',39,0
5256 IgorA 494
;--------------------------------------------------
495
 
6286 IgorA 496
txt_scale:
497
db 'Scale: '
498
.v:
499
db 0
500
rb 10
501
 
502
txt_angle_z:
503
db 'Rotate z: '
504
.v:
505
db 0
506
rb 10
507
 
508
txt_angle_y:
509
db 'Rotate y: '
510
.v:
511
db 0
512
rb 10
513
 
514
align 4
515
buf_ogl:
516
	dd 0 ;указатель на буфер изображения
517
	dw 10,10 ;+4 left,top
518
.w: dd 400
519
.h: dd 350
520
	dd 0,24 ;+16 color,bit in pixel
521
 
522
align 4
523
buf_1:
524
	dd 0 ;указатель на буфер изображения
525
	dd 0 ;+4 left,top
526
.w: dd 0
527
.h: dd 0,0,24 ;+16 color,bit in pixel
528
 
529
align 4
530
l_libs_start:
531
	lib_0 l_libs lib_name_0, cur_dir_path, file_name,  system_dir_0,\
532
		err_msg_found_lib_0, head_f_l, import_lib_tinygl,err_msg_import_0,head_f_i
533
	lib_1 l_libs lib_name_1, cur_dir_path, file_name,  system_dir_1,\
534
		err_msg_found_lib_1, head_f_l, import_buf2d,  err_msg_import_1,head_f_i
535
	lib_2 l_libs lib_name_2, cur_dir_path, file_name, system_dir_2,\
536
		err_msg_found_lib_2, head_f_l, import_libimg, err_msg_import_2, head_f_i
537
l_libs_end:
538
 
539
align 4
5256 IgorA 540
i_end:
6286 IgorA 541
	run_file_70 FileInfoBlock
542
	sc system_colors
543
align 16
544
	rb 4096
5256 IgorA 545
stacktop:
6286 IgorA 546
	cur_dir_path rb 4096
547
	file_name rb 4096
5256 IgorA 548
mem: