Subversion Repositories Kolibri OS

Rev

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

Rev 7616 Rev 8083
Line 225... Line 225...
225
	stdcall [kosglMakeCurrent], 3d_wnd_l,3d_wnd_t,3d_wnd_w,3d_wnd_h,ctx1
225
	stdcall [kosglMakeCurrent], 3d_wnd_l,3d_wnd_t,3d_wnd_w,3d_wnd_h,ctx1
226
	stdcall [glEnable], GL_DEPTH_TEST
226
	stdcall [glEnable], GL_DEPTH_TEST
227
	stdcall [glEnable], GL_NORMALIZE ;¤¥« ¬ ­®à¬ «¨ ®¤¨­ ª®¢®© ¢¥«¨ç¨­ë ¢® ¨§¡¥¦ ­¨¥  àâ¥ä ªâ®¢
227
	stdcall [glEnable], GL_NORMALIZE ;¤¥« ¬ ­®à¬ «¨ ®¤¨­ ª®¢®© ¢¥«¨ç¨­ë ¢® ¨§¡¥¦ ­¨¥  àâ¥ä ªâ®¢
228
	stdcall [glClearColor], [color_bk+8],[color_bk+4],[color_bk],0.0
228
	stdcall [glClearColor], [color_bk+8],[color_bk+4],[color_bk],0.0
229
	stdcall [glShadeModel], GL_SMOOTH
229
	stdcall [glShadeModel], GL_SMOOTH
230
	stdcall [gluNewQuadric]
230
	call [gluNewQuadric]
231
	mov [qObj],eax
231
	mov [qObj],eax
Line 232... Line 232...
232
 
232
 
233
	mov eax,dword[ctx1] ;eax -> TinyGLContext.GLContext
233
	mov eax,dword[ctx1] ;eax -> TinyGLContext.GLContext
234
	mov eax,[eax] ;eax -> ZBuffer
234
	mov eax,[eax] ;eax -> ZBuffer
235
	mov eax,[eax+offs_zbuf_pbuf] ;eax -> ZBuffer.pbuf
235
	mov eax,[eax+ZBuffer.pbuf]
Line 236... Line 236...
236
	mov dword[buf_ogl],eax
236
	mov dword[buf_ogl],eax
237
 
237
 
238
	;open file from cmd line
238
	;open file from cmd line
Line 285... Line 285...
285
		jne .end_m
285
		jne .end_m
Line 286... Line 286...
286
 
286
 
287
		stdcall [tl_node_get_data],tree1
287
		stdcall [tl_node_get_data],tree1
288
		or eax,eax
288
		or eax,eax
289
		jz .end_d
289
		jz .end_d
290
			mov ebx,dword[eax]
290
			mov ebx,[eax]
291
			add ebx,dword[open_file_data] ;¯®«ãç ¥¬ §­ ç¥­¨¥ ᤢ¨£  ¢ ¯ ¬ïâ¨
291
			add ebx,dword[open_file_data] ;¯®«ãç ¥¬ §­ ç¥­¨¥ ᤢ¨£  ¢ ¯ ¬ïâ¨
292
			cmp word[ebx],CHUNK_OBJBLOCK
292
			cmp word[ebx],CHUNK_OBJBLOCK
Line 293... Line 293...
293
			jne .end_d
293
			jne .end_d
294
 
294
 
295
		mcall SF_MOUSE_GET,SSF_WINDOW_POSITION
295
		mcall SF_MOUSE_GET,SSF_WINDOW_POSITION
296
		mov ebx,eax
296
		mov ebx,eax
297
		shr ebx,16 ;mouse.x
297
		sar ebx,16 ;mouse.x
298
		cmp ebx,3d_wnd_l
298
		cmp ebx,3d_wnd_l
299
		jg @f
299
		jg @f
300
			mov ebx,3d_wnd_l
300
			mov ebx,3d_wnd_l
301
		@@:
301
		@@:
302
		sub ebx,3d_wnd_l
302
		sub ebx,3d_wnd_l
303
		cmp ebx,3d_wnd_w
303
		cmp ebx,3d_wnd_w
304
		jle @f
304
		jle @f
305
			mov ebx,3d_wnd_w
305
			mov ebx,3d_wnd_w
306
		@@:
306
		@@:
307
		and eax,0xffff ;mouse.y
307
		movsx eax,ax ;mouse.y
308
		cmp eax,3d_wnd_t
308
		cmp eax,3d_wnd_t
309
		jg @f
309
		jg @f
310
			mov eax,3d_wnd_t
310
			mov eax,3d_wnd_t
Line 344... Line 344...
344
	bt eax,8
344
	bt eax,8
345
	jnc .end_d
345
	jnc .end_d
346
		;mouse l. but. press
346
		;mouse l. but. press
347
		mcall SF_MOUSE_GET,SSF_WINDOW_POSITION
347
		mcall SF_MOUSE_GET,SSF_WINDOW_POSITION
348
		mov ebx,eax
348
		mov ebx,eax
349
		shr ebx,16 ;mouse.x
349
		sar ebx,16 ;mouse.x
350
		cmp ebx,3d_wnd_l
350
		cmp ebx,3d_wnd_l
351
		jl .end_d
351
		jl .end_d
352
		sub ebx,3d_wnd_l
352
		sub ebx,3d_wnd_l
353
		cmp ebx,3d_wnd_w
353
		cmp ebx,3d_wnd_w
354
		jg .end_d
354
		jg .end_d
355
		and eax,0xffff ;mouse.y
355
		movsx eax,ax ;mouse.y
356
		cmp eax,3d_wnd_t
356
		cmp eax,3d_wnd_t
357
		jl .end_d
357
		jl .end_d
358
		sub eax,3d_wnd_t
358
		sub eax,3d_wnd_t
359
		cmp eax,3d_wnd_h
359
		cmp eax,3d_wnd_h
360
		jg .end_d
360
		jg .end_d
361
		mov dword[mouse_drag],1
361
		mov dword[mouse_drag],1
362
		mov dword[mouse_x],ebx
362
		mov dword[mouse_x],ebx
363
		mov dword[mouse_y],eax
363
		mov dword[mouse_y],eax
364
	.end_d:
364
	.end_d:
Line 365... Line 365...
365
 
365
 
366
	stdcall [tl_mouse], dword tree1
366
	stdcall [tl_mouse], tree1
367
	stdcall [kmainmenu_dispatch_cursorevent], [main_menu]
367
	stdcall [kmainmenu_dispatch_cursorevent], [main_menu]
368
	pop ebx eax
368
	pop ebx eax
Line 369... Line 369...
369
	ret
369
	ret
Line 376... Line 376...
376
 
376
 
377
	;¯à®á¬ âਢ ¥¬ ¢ë¤¥«¥­­ë© ¡«®ª ¤ ­­ëå
377
	;¯à®á¬ âਢ ¥¬ ¢ë¤¥«¥­­ë© ¡«®ª ¤ ­­ëå
378
	stdcall [tl_node_get_data],tree1
378
	stdcall [tl_node_get_data],tree1
379
	or eax,eax
379
	or eax,eax
380
	jz .end_f
-
 
381
		mov edi,eax
380
	jz .end_f
382
		add edi,list_offs_obj3d
381
		lea edi,[eax+list_offs_obj3d]
383
		mov ebx,eax
382
		mov ebx,eax
384
		mov eax,dword[ebx]
383
		mov eax,[ebx]
385
		mov ecx,dword[ebx+4] ;à §¬¥à ¡«®ª 
384
		mov ecx,[ebx+4] ;à §¬¥à ¡«®ª 
386
		stdcall hex_in_str, txt_3ds_offs.dig, eax,8
385
		stdcall hex_in_str, txt_3ds_offs.dig, eax,8
Line 387... Line 386...
387
		stdcall hex_in_str, txt_3ds_offs.siz, ecx,8
386
		stdcall hex_in_str, txt_3ds_offs.siz, ecx,8
388
 
387
 
389
		add eax,dword[open_file_data] ;¯®«ãç ¥¬ §­ ç¥­¨¥ ᤢ¨£  ¢ ¯ ¬ïâ¨
388
		add eax,[open_file_data] ;¯®«ãç ¥¬ §­ ç¥­¨¥ ᤢ¨£  ¢ ¯ ¬ïâ¨
390
		cmp dword[offs_last_timer],eax
389
		cmp [offs_last_timer],eax
391
		je .end_f
390
		je .end_f
Line 392... Line 391...
392
			;¥á«¨ ¢ë¤¥«¥­­ë© ¡«®ª ¤ ­­ëå ­¥ ᮢ¯ ¤ ¥â á ¯®á«¥¤­¨¬ § ¯®¬­¥­­ë¬
391
			;¥á«¨ ¢ë¤¥«¥­­ë© ¡«®ª ¤ ­­ëå ­¥ ᮢ¯ ¤ ¥â á ¯®á«¥¤­¨¬ § ¯®¬­¥­­ë¬
393
			mov dword[offs_last_timer],eax
392
			mov [offs_last_timer],eax
394
 
393
 
395
			cmp word[eax],CHUNK_OBJBLOCK
394
			cmp word[eax],CHUNK_OBJBLOCK
Line 420... Line 419...
420
				jmp .end_f
419
				jmp .end_f
421
			.end_mblo:
420
			.end_mblo:
Line 422... Line 421...
422
 
421
 
423
			stdcall buf_draw_beg, buf_ogl
422
			stdcall buf_draw_beg, buf_ogl
424
			stdcall [buf2d_draw_text], buf_ogl, buf_1,txt_3ds_offs,5,35,0xb000
423
			stdcall [buf2d_draw_text], buf_ogl, buf_1,txt_3ds_offs,5,35,0xb000
425
			mov edx,dword[ebx+list_offs_p_data]
424
			mov edx,[ebx+list_offs_p_data]
426
			or edx,edx ;ᬮâਬ ¥áâì «¨ ®¯¨á ­¨¥ ¡«®ª 
425
			or edx,edx ;ᬮâਬ ¥áâì «¨ ®¯¨á ­¨¥ ¡«®ª 
427
			jz .no_info
426
			jz .no_info
428
				stdcall [buf2d_draw_text], buf_ogl, buf_1,edx,5,45,0xb000
427
				stdcall [buf2d_draw_text], buf_ogl, buf_1,edx,5,45,0xb000
429
			.no_info:
428
			.no_info:
Line 1041... Line 1040...
1041
			rep movsb
1040
			rep movsb
1042
			mov byte[buffer+size_one_list-1],0 ;0 - ᨬ¢®« ª®­æ  áâப¨
1041
			mov byte[buffer+size_one_list-1],0 ;0 - ᨬ¢®« ª®­æ  áâப¨
1043
		.no_capt:
1042
		.no_capt:
1044
		mov ecx,(sizeof.obj_3d)/4
1043
		mov ecx,(sizeof.obj_3d)/4
1045
		xor eax,eax
1044
		xor eax,eax
1046
		mov edi,buffer
-
 
1047
		add edi,list_offs_obj3d
1045
		mov edi,buffer+list_offs_obj3d
1048
		rep stosd
1046
		rep stosd
1049
		stdcall [tl_node_add], tree1, ebx, buffer
1047
		stdcall [tl_node_add], tree1, ebx, buffer
1050
		stdcall [tl_cur_next], tree1
1048
		stdcall [tl_cur_next], tree1
1051
	popad
1049
	popad
1052
	ret
1050
	ret
Line 1457... Line 1455...
1457
 
1455
 
1458
align 4
1456
align 4
Line 1459... Line 1457...
1459
w_scr_t1 scrollbar 16,0, 3,0, 15, 100, 0,0, 0,0,0, 1
1457
w_scr_t1 scrollbar 16,0, 3,0, 15, 100, 0,0, 0,0,0, 1
1460
 
-
 
1461
align 4
-
 
1462
ctx1 db 28 dup (0) ;TinyGLContext or KOSGLContext
-
 
1463
;sizeof.TinyGLContext = 28
1458
 
Line 1464... Line 1459...
1464
 
1459
align 4
1465
qObj dd 0
1460
qObj dd 0
1466
 
1461
 
Line 1472... Line 1467...
1472
mat_shininess dd 3.0 ;  §¬¥à ¡«¨ª  (®¡à â­ ï ¯à®¯®àæ¨ï)
1467
mat_shininess dd 3.0 ;  §¬¥à ¡«¨ª  (®¡à â­ ï ¯à®¯®àæ¨ï)
1473
white_light dd 0.8, 0.8, 0.8, 1.0 ; –¢¥â ¨ ¨­â¥­á¨¢­®áâì ®á¢¥é¥­¨ï, £¥­¥à¨à㥬®£® ¨áâ®ç­¨ª®¬
1468
white_light dd 0.8, 0.8, 0.8, 1.0 ; –¢¥â ¨ ¨­â¥­á¨¢­®áâì ®á¢¥é¥­¨ï, £¥­¥à¨à㥬®£® ¨áâ®ç­¨ª®¬
1474
lmodel_ambient dd 0.3, 0.3, 0.3, 1.0 ;  à ¬¥âàë ä®­®¢®£® ®á¢¥é¥­¨ï
1469
lmodel_ambient dd 0.3, 0.3, 0.3, 1.0 ;  à ¬¥âàë ä®­®¢®£® ®á¢¥é¥­¨ï
Line 1475... Line 1470...
1475
 
1470
 
1476
if lang eq ru
1471
if lang eq ru
1477
capt db 'info 3ds [user] ¢¥àá¨ï 23.03.19',0 ;¯®¤¯¨áì ®ª­ 
1472
capt db 'info 3ds [user] ¢¥àá¨ï 29.09.20',0 ;¯®¤¯¨áì ®ª­ 
1478
else
1473
else
1479
capt db 'info 3ds [user] version 23.03.19',0 ;window caption
1474
capt db 'info 3ds [user] version 29.09.20',0 ;window caption
Line 1480... Line 1475...
1480
end if
1475
end if
1481
 
1476
 
-
 
1477
align 16
1482
align 16
1478
i_end:
1483
i_end:
1479
	ctx1 rb 28 ;sizeof.TinyGLContext = 28
1484
	procinfo process_information
1480
	procinfo process_information
1485
	run_file_70 FileInfoBlock
1481
	run_file_70 FileInfoBlock
1486
	sc system_colors
1482
	sc system_colors