forked from KolibriOS/kolibrios
tinygl: add some double functions, add bcc32 example
libimg: small optimize git-svn-id: svn://kolibrios.org@8408 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -10,12 +10,40 @@ glVertex4f: ;x, y, z, w
|
||||
pop eax
|
||||
ret 20 ;=sizeof(dd)*5
|
||||
|
||||
align 4
|
||||
proc glVertex4d, x:qword, y:qword, z:qword, w:qword
|
||||
add esp,-16
|
||||
fld qword[w]
|
||||
fstp dword[esp+12]
|
||||
fld qword[z]
|
||||
fstp dword[esp+8]
|
||||
fld qword[y]
|
||||
fstp dword[esp+4]
|
||||
fld qword[x]
|
||||
fstp dword[esp]
|
||||
call glVertex4f
|
||||
ret
|
||||
endp
|
||||
|
||||
align 4
|
||||
proc glVertex2f, x:dword, y:dword
|
||||
stdcall glVertex4f,[x],[y],0.0,1.0
|
||||
ret
|
||||
endp
|
||||
|
||||
align 4
|
||||
proc glVertex2d, x:qword, y:qword
|
||||
push 1.0
|
||||
push 0.0
|
||||
add esp,-8
|
||||
fld qword[y]
|
||||
fstp dword[esp+4]
|
||||
fld qword[x]
|
||||
fstp dword[esp]
|
||||
call glVertex4f
|
||||
ret
|
||||
endp
|
||||
|
||||
align 4
|
||||
proc glVertex2fv uses eax, v:dword
|
||||
mov eax,[v]
|
||||
@@ -23,12 +51,40 @@ proc glVertex2fv uses eax, v:dword
|
||||
ret
|
||||
endp
|
||||
|
||||
align 4
|
||||
proc glVertex2dv uses eax, v:dword
|
||||
mov eax,[v]
|
||||
push 1.0
|
||||
push 0.0
|
||||
add esp,-8
|
||||
fld qword[eax+8]
|
||||
fstp dword[esp+4]
|
||||
fld qword[eax]
|
||||
fstp dword[esp]
|
||||
call glVertex4f
|
||||
ret
|
||||
endp
|
||||
|
||||
align 4
|
||||
proc glVertex3f, x:dword, y:dword, z:dword
|
||||
stdcall glVertex4f,[x],[y],[z],1.0
|
||||
ret
|
||||
endp
|
||||
|
||||
align 4
|
||||
proc glVertex3d, x:qword, y:qword, z:qword
|
||||
push 1.0
|
||||
add esp,-12
|
||||
fld qword[z]
|
||||
fstp dword[esp+8]
|
||||
fld qword[y]
|
||||
fstp dword[esp+4]
|
||||
fld qword[x]
|
||||
fstp dword[esp]
|
||||
call glVertex4f
|
||||
ret
|
||||
endp
|
||||
|
||||
align 4
|
||||
proc glVertex3fv uses eax, v:dword
|
||||
mov eax,[v]
|
||||
@@ -36,6 +92,21 @@ proc glVertex3fv uses eax, v:dword
|
||||
ret
|
||||
endp
|
||||
|
||||
align 4
|
||||
proc glVertex3dv uses eax, v:dword
|
||||
mov eax,[v]
|
||||
push 1.0
|
||||
add esp,-12
|
||||
fld qword[eax+16]
|
||||
fstp dword[esp+8]
|
||||
fld qword[eax+8]
|
||||
fstp dword[esp+4]
|
||||
fld qword[eax]
|
||||
fstp dword[esp]
|
||||
call glVertex4f
|
||||
ret
|
||||
endp
|
||||
|
||||
align 4
|
||||
proc glVertex4fv uses eax, v:dword
|
||||
mov eax,[v]
|
||||
@@ -43,6 +114,22 @@ proc glVertex4fv uses eax, v:dword
|
||||
ret
|
||||
endp
|
||||
|
||||
align 4
|
||||
proc glVertex4dv uses eax, v:dword
|
||||
mov eax,[v]
|
||||
add esp,-16
|
||||
fld qword[eax+24]
|
||||
fstp dword[esp+12]
|
||||
fld qword[eax+16]
|
||||
fstp dword[esp+8]
|
||||
fld qword[eax+8]
|
||||
fstp dword[esp+4]
|
||||
fld qword[eax]
|
||||
fstp dword[esp]
|
||||
call glVertex4f
|
||||
ret
|
||||
endp
|
||||
|
||||
; glNormal
|
||||
|
||||
align 4
|
||||
|
||||
@@ -6,7 +6,7 @@ use32
|
||||
include '../../../../../proc32.inc'
|
||||
include '../../../../../macros.inc'
|
||||
include '../../../../../KOSfuncs.inc'
|
||||
include '../../../../../develop/libraries/box_lib/load_lib.mac'
|
||||
include '../../../../../load_lib.mac'
|
||||
include '../../../../../dll.inc'
|
||||
include '../opengl_const.inc'
|
||||
include 'fps.inc'
|
||||
@@ -18,8 +18,7 @@ macro matr_cell c_funct,c_param,funct,param, dia
|
||||
dia dword[esp-4*(c_param*(c_funct-funct)+(1+c_param-param))]
|
||||
}
|
||||
|
||||
;Так как некоторые извращенческие функции OpenGL воспринимают только параметры
|
||||
;типа double (8 байт) то придется пихать их в стек макросом glpush
|
||||
;Макрос для параметров типа double (8 байт)
|
||||
macro glpush GLDoubleVar {
|
||||
push dword[GLDoubleVar+4]
|
||||
push dword[GLDoubleVar]
|
||||
@@ -27,8 +26,7 @@ macro glpush GLDoubleVar {
|
||||
|
||||
align 4
|
||||
start:
|
||||
load_library name_tgl, cur_dir_path, library_path, system_path, \
|
||||
err_message_found_lib, head_f_l, import_lib_tinygl, err_message_import, head_f_i
|
||||
load_library name_tgl, library_path, system_path, import_tinygl
|
||||
cmp eax,SF_TERMINATE_PROCESS
|
||||
jz button.exit
|
||||
|
||||
@@ -903,7 +901,7 @@ endp
|
||||
|
||||
;--------------------------------------------------
|
||||
align 4
|
||||
import_lib_tinygl:
|
||||
import_tinygl:
|
||||
|
||||
macro E_LIB n
|
||||
{
|
||||
@@ -920,11 +918,6 @@ include '../export.inc'
|
||||
;--------------------------------------------------
|
||||
system_path db '/sys/lib/'
|
||||
name_tgl db 'tinygl.obj',0
|
||||
|
||||
head_f_i:
|
||||
head_f_l db '"System error',0
|
||||
err_message_import db 'Error on load import library ',39,'tinygl.obj',39,'" -tE',0
|
||||
err_message_found_lib db 'Sorry I cannot load library ',39,'tinygl.obj',39,'" -tE',0
|
||||
;--------------------------------------------------
|
||||
|
||||
align 16
|
||||
@@ -932,10 +925,8 @@ i_end:
|
||||
ctx1 db 28 dup (0) ;TinyGLContext or KOSGLContext
|
||||
;sizeof.TinyGLContext = 28
|
||||
procinfo process_information
|
||||
cur_dir_path rb 4096
|
||||
library_path rb 4096
|
||||
rb 4096
|
||||
stacktop:
|
||||
cur_dir_path:
|
||||
rb 4096
|
||||
library_path:
|
||||
rb 4096
|
||||
mem:
|
||||
|
||||
@@ -6,7 +6,7 @@ use32
|
||||
include '../../../../../proc32.inc'
|
||||
include '../../../../../macros.inc'
|
||||
include '../../../../../KOSfuncs.inc'
|
||||
include '../../../../../develop/libraries/box_lib/load_lib.mac'
|
||||
include '../../../../../load_lib.mac'
|
||||
include '../../../../../dll.inc'
|
||||
include '../opengl_const.inc'
|
||||
|
||||
@@ -14,8 +14,7 @@ include '../opengl_const.inc'
|
||||
|
||||
align 4
|
||||
start:
|
||||
load_library name_tgl, cur_dir_path, library_path, system_path, \
|
||||
err_message_found_lib, head_f_l, import_lib_tinygl, err_message_import, head_f_i
|
||||
load_library name_tgl, library_path, system_path, import_lib_tinygl
|
||||
cmp eax,SF_TERMINATE_PROCESS
|
||||
jz button.exit
|
||||
|
||||
@@ -154,21 +153,14 @@ include '../export.inc'
|
||||
;--------------------------------------------------
|
||||
system_path db '/sys/lib/'
|
||||
name_tgl db 'tinygl.obj',0
|
||||
|
||||
head_f_i:
|
||||
head_f_l db '"System error',0
|
||||
err_message_import db 'Error on load import library ',39,'tinygl.obj',39,'" -tE',0
|
||||
err_message_found_lib db 'Sorry I cannot load library ',39,'tinygl.obj',39,'" -tE',0
|
||||
;--------------------------------------------------
|
||||
|
||||
align 16
|
||||
i_end:
|
||||
ctx1 db 28 dup (0) ;TinyGLContext or KOSGLContext
|
||||
ctx1 rb 28 ;TinyGLContext or KOSGLContext
|
||||
;sizeof.TinyGLContext = 28
|
||||
cur_dir_path rb 4096
|
||||
library_path rb 4096
|
||||
rb 1024
|
||||
stacktop:
|
||||
cur_dir_path:
|
||||
rb 4096
|
||||
library_path:
|
||||
rb 4096
|
||||
mem:
|
||||
|
||||
@@ -6,7 +6,7 @@ use32
|
||||
include '../../../../../proc32.inc'
|
||||
include '../../../../../macros.inc'
|
||||
include '../../../../../KOSfuncs.inc'
|
||||
include '../../../../../develop/libraries/box_lib/load_lib.mac'
|
||||
include '../../../../../load_lib.mac'
|
||||
include '../../../../../dll.inc'
|
||||
include '../opengl_const.inc'
|
||||
|
||||
@@ -14,8 +14,7 @@ include '../opengl_const.inc'
|
||||
|
||||
align 4
|
||||
start:
|
||||
load_library name_tgl, cur_dir_path, library_path, system_path, \
|
||||
err_message_found_lib, head_f_l, import_lib_tinygl, err_message_import, head_f_i
|
||||
load_library name_tgl, library_path, system_path, import_lib_tinygl
|
||||
cmp eax,SF_TERMINATE_PROCESS
|
||||
jz button.exit
|
||||
|
||||
@@ -154,21 +153,14 @@ include '../export.inc'
|
||||
;--------------------------------------------------
|
||||
system_path db '/sys/lib/'
|
||||
name_tgl db 'tinygl.obj',0
|
||||
|
||||
head_f_i:
|
||||
head_f_l db '"System error',0
|
||||
err_message_import db 'Error on load import library ',39,'tinygl.obj',39,'" -tE',0
|
||||
err_message_found_lib db 'Sorry I cannot load library ',39,'tinygl.obj',39,'" -tE',0
|
||||
;--------------------------------------------------
|
||||
|
||||
align 16
|
||||
i_end:
|
||||
ctx1 db 28 dup (0) ;TinyGLContext or KOSGLContext
|
||||
ctx1 rb 28 ;TinyGLContext or KOSGLContext
|
||||
;sizeof.TinyGLContext = 28
|
||||
cur_dir_path rb 4096
|
||||
library_path rb 4096
|
||||
rb 1024
|
||||
stacktop:
|
||||
cur_dir_path:
|
||||
rb 4096
|
||||
library_path:
|
||||
rb 4096
|
||||
mem:
|
||||
|
||||
@@ -6,7 +6,7 @@ use32
|
||||
include '../../../../../proc32.inc'
|
||||
include '../../../../../macros.inc'
|
||||
include '../../../../../KOSfuncs.inc'
|
||||
include '../../../../../develop/libraries/box_lib/load_lib.mac'
|
||||
include '../../../../../load_lib.mac'
|
||||
include '../../../../../dll.inc'
|
||||
include '../opengl_const.inc'
|
||||
|
||||
@@ -14,8 +14,7 @@ include '../opengl_const.inc'
|
||||
|
||||
align 4
|
||||
start:
|
||||
load_library name_tgl, cur_dir_path, library_path, system_path, \
|
||||
err_message_found_lib, head_f_l, import_lib_tinygl, err_message_import, head_f_i
|
||||
load_library name_tgl, library_path, system_path, import_lib_tinygl
|
||||
cmp eax,SF_TERMINATE_PROCESS
|
||||
jz button.exit
|
||||
|
||||
@@ -163,21 +162,14 @@ include '../export.inc'
|
||||
;--------------------------------------------------
|
||||
system_path db '/sys/lib/'
|
||||
name_tgl db 'tinygl.obj',0
|
||||
|
||||
head_f_i:
|
||||
head_f_l db '"System error',0
|
||||
err_message_import db 'Error on load import library ',39,'tinygl.obj',39,'" -tE',0
|
||||
err_message_found_lib db 'Sorry I cannot load library ',39,'tinygl.obj',39,'" -tE',0
|
||||
;--------------------------------------------------
|
||||
|
||||
align 16
|
||||
i_end:
|
||||
ctx1 db 28 dup (0) ;TinyGLContext or KOSGLContext
|
||||
ctx1 rb 28 ;TinyGLContext or KOSGLContext
|
||||
;sizeof.TinyGLContext = 28
|
||||
cur_dir_path rb 4096
|
||||
library_path rb 4096
|
||||
rb 1024
|
||||
stacktop:
|
||||
cur_dir_path:
|
||||
rb 4096
|
||||
library_path:
|
||||
rb 4096
|
||||
mem:
|
||||
|
||||
@@ -6,7 +6,7 @@ use32
|
||||
include '../../../../../proc32.inc'
|
||||
include '../../../../../macros.inc'
|
||||
include '../../../../../KOSfuncs.inc'
|
||||
include '../../../../../develop/libraries/box_lib/load_lib.mac'
|
||||
include '../../../../../load_lib.mac'
|
||||
include '../../../../../dll.inc'
|
||||
include '../opengl_const.inc'
|
||||
|
||||
@@ -14,8 +14,7 @@ include '../opengl_const.inc'
|
||||
|
||||
align 4
|
||||
start:
|
||||
load_library name_tgl, cur_dir_path, library_path, system_path, \
|
||||
err_message_found_lib, head_f_l, import_lib_tinygl, err_message_import, head_f_i
|
||||
load_library name_tgl, library_path, system_path, import_lib_tinygl
|
||||
cmp eax,SF_TERMINATE_PROCESS
|
||||
jz button.exit
|
||||
|
||||
@@ -155,21 +154,14 @@ include '../export.inc'
|
||||
;--------------------------------------------------
|
||||
system_path db '/sys/lib/'
|
||||
name_tgl db 'tinygl.obj',0
|
||||
|
||||
head_f_i:
|
||||
head_f_l db '"System error',0
|
||||
err_message_import db 'Error on load import library ',39,'tinygl.obj',39,'" -tE',0
|
||||
err_message_found_lib db 'Sorry I cannot load library ',39,'tinygl.obj',39,'" -tE',0
|
||||
;--------------------------------------------------
|
||||
|
||||
align 16
|
||||
i_end:
|
||||
ctx1 db 28 dup (0) ;TinyGLContext or KOSGLContext
|
||||
ctx1 rb 28 ;TinyGLContext or KOSGLContext
|
||||
;sizeof.TinyGLContext = 28
|
||||
cur_dir_path rb 4096
|
||||
library_path rb 4096
|
||||
rb 1024
|
||||
stacktop:
|
||||
cur_dir_path:
|
||||
rb 4096
|
||||
library_path:
|
||||
rb 4096
|
||||
mem:
|
||||
|
||||
@@ -1,28 +1,24 @@
|
||||
use32
|
||||
org 0x0
|
||||
org 0
|
||||
db 'MENUET01'
|
||||
dd 0x1
|
||||
dd start
|
||||
dd i_end
|
||||
dd mem,stacktop
|
||||
dd 0,cur_dir_path
|
||||
dd 1,start,i_end,mem,stacktop,0,cur_dir_path
|
||||
|
||||
include '../../../../../../programs/proc32.inc'
|
||||
include '../../../../../../programs/macros.inc'
|
||||
include '../../../../../../programs/develop/libraries/box_lib/load_lib.mac'
|
||||
include '../../../../../../programs/dll.inc'
|
||||
include '../../../../../proc32.inc'
|
||||
include '../../../../../macros.inc'
|
||||
include '../../../../../KOSfuncs.inc'
|
||||
include '../../../../../load_lib.mac'
|
||||
include '../../../../../dll.inc'
|
||||
include '../opengl_const.inc'
|
||||
|
||||
@use_library
|
||||
|
||||
align 4
|
||||
start:
|
||||
load_library name_tgl, cur_dir_path, library_path, system_path, \
|
||||
err_message_found_lib, head_f_l, import_lib_tinygl, err_message_import, head_f_i
|
||||
load_library name_tgl, library_path, system_path, import_tinygl
|
||||
cmp eax,-1
|
||||
jz button.exit
|
||||
|
||||
mcall 40,0x27
|
||||
mcall SF_SET_EVENTS_MASK,0x27
|
||||
|
||||
stdcall [kosglMakeCurrent], 10,10,400,350,ctx1
|
||||
stdcall [glEnable], GL_DEPTH_TEST
|
||||
@@ -37,7 +33,7 @@ red_win:
|
||||
|
||||
align 4
|
||||
still:
|
||||
mcall 10
|
||||
mcall SF_WAIT_EVENT
|
||||
cmp al,1
|
||||
jz red_win
|
||||
cmp al,2
|
||||
@@ -49,19 +45,18 @@ still:
|
||||
align 4
|
||||
draw_window:
|
||||
pushad
|
||||
mcall 12,1
|
||||
mcall SF_REDRAW,SSF_BEGIN_DRAW
|
||||
|
||||
mov edx,0x33ffffff ;0x73ffffff
|
||||
mcall 0,(50 shl 16)+430,(30 shl 16)+400,,,caption
|
||||
stdcall [kosglSwapBuffers]
|
||||
mcall SF_CREATE_WINDOW,(50 shl 16)+430,(30 shl 16)+400,0x33ffffff,,caption
|
||||
call [kosglSwapBuffers]
|
||||
|
||||
mcall 12,2
|
||||
mcall SF_REDRAW,SSF_END_DRAW
|
||||
popad
|
||||
ret
|
||||
|
||||
align 4
|
||||
key:
|
||||
mcall 2
|
||||
mcall SF_GET_KEY
|
||||
|
||||
cmp ah,27 ;Esc
|
||||
je button.exit
|
||||
@@ -72,7 +67,7 @@ key:
|
||||
fadd dword[delt_sc]
|
||||
fstp dword[scale]
|
||||
call draw_3d
|
||||
stdcall [kosglSwapBuffers]
|
||||
call [kosglSwapBuffers]
|
||||
@@:
|
||||
cmp ah,45 ;-
|
||||
jne @f
|
||||
@@ -80,7 +75,7 @@ key:
|
||||
fsub dword[delt_sc]
|
||||
fstp dword[scale]
|
||||
call draw_3d
|
||||
stdcall [kosglSwapBuffers]
|
||||
call [kosglSwapBuffers]
|
||||
@@:
|
||||
cmp ah,178 ;Up
|
||||
jne @f
|
||||
@@ -88,7 +83,7 @@ key:
|
||||
fadd dword[delt_size]
|
||||
fstp dword[angle_y]
|
||||
call draw_3d
|
||||
stdcall [kosglSwapBuffers]
|
||||
call [kosglSwapBuffers]
|
||||
@@:
|
||||
cmp ah,177 ;Down
|
||||
jne @f
|
||||
@@ -96,7 +91,7 @@ key:
|
||||
fsub dword[delt_size]
|
||||
fstp dword[angle_y]
|
||||
call draw_3d
|
||||
stdcall [kosglSwapBuffers]
|
||||
call [kosglSwapBuffers]
|
||||
@@:
|
||||
cmp ah,176 ;Left
|
||||
jne @f
|
||||
@@ -104,7 +99,7 @@ key:
|
||||
fadd dword[delt_size]
|
||||
fstp dword[angle_z]
|
||||
call draw_3d
|
||||
stdcall [kosglSwapBuffers]
|
||||
call [kosglSwapBuffers]
|
||||
@@:
|
||||
cmp ah,179 ;Right
|
||||
jne @f
|
||||
@@ -112,30 +107,27 @@ key:
|
||||
fsub dword[delt_size]
|
||||
fstp dword[angle_z]
|
||||
call draw_3d
|
||||
stdcall [kosglSwapBuffers]
|
||||
call [kosglSwapBuffers]
|
||||
@@:
|
||||
|
||||
jmp still
|
||||
|
||||
align 4
|
||||
button:
|
||||
mcall 17
|
||||
mcall SF_GET_BUTTON
|
||||
cmp ah,1
|
||||
jne still
|
||||
.exit:
|
||||
mcall -1
|
||||
mcall SF_TERMINATE_PROCESS
|
||||
|
||||
|
||||
align 4
|
||||
caption db 'Test opengl 1.1 arrays, [Esc] - exit, [<-],[->],[Up],[Down] - rotate',0
|
||||
align 4
|
||||
ctx1 db 28 dup (0) ;TinyGLContext or KOSGLContext
|
||||
;sizeof.TinyGLContext = 28
|
||||
|
||||
align 4
|
||||
draw_3d:
|
||||
stdcall [glClear], GL_COLOR_BUFFER_BIT + GL_DEPTH_BUFFER_BIT ;очистим буфер цвета и глубины
|
||||
stdcall [glPushMatrix]
|
||||
call [glPushMatrix]
|
||||
|
||||
;масштаб и повороты
|
||||
stdcall [glTranslatef], 0.0,0.0,0.5
|
||||
@@ -152,7 +144,7 @@ stdcall [glPushMatrix]
|
||||
stdcall [glDisableClientState], GL_COLOR_ARRAY ;отключаем режим рисования цветов
|
||||
stdcall [glDisableClientState], GL_VERTEX_ARRAY ;отключаем режим рисования вершин
|
||||
|
||||
stdcall [glPopMatrix]
|
||||
call [glPopMatrix]
|
||||
ret
|
||||
|
||||
align 4
|
||||
@@ -168,7 +160,7 @@ Colors dd 0.0, 0.5, 1.0, 1.0, 0.0, 0.5, 1.0, 1.0, 1.0, 0.5, 1.0, 0.0 ;4 цвет
|
||||
|
||||
;--------------------------------------------------
|
||||
align 4
|
||||
import_lib_tinygl:
|
||||
import_tinygl:
|
||||
|
||||
macro E_LIB n
|
||||
{
|
||||
@@ -185,17 +177,13 @@ include '../export.inc'
|
||||
;--------------------------------------------------
|
||||
system_path db '/sys/lib/'
|
||||
name_tgl db 'tinygl.obj',0
|
||||
err_message_found_lib db 'Sorry I cannot load library tinygl.obj',0
|
||||
head_f_i:
|
||||
head_f_l db 'System error',0
|
||||
err_message_import db 'Error on load import library tinygl.obj',0
|
||||
;--------------------------------------------------
|
||||
|
||||
align 4
|
||||
i_end:
|
||||
ctx1 rb 28 ;sizeof.TinyGLContext = 28
|
||||
cur_dir_path rb 4096
|
||||
library_path rb 4096
|
||||
rb 4096
|
||||
stacktop:
|
||||
cur_dir_path:
|
||||
rb 4096
|
||||
library_path:
|
||||
rb 4096
|
||||
mem:
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
use32
|
||||
org 0x0
|
||||
org 0
|
||||
db 'MENUET01'
|
||||
dd 1,start,i_end,mem,stacktop,0,cur_dir_path
|
||||
|
||||
include '../../../../../proc32.inc'
|
||||
include '../../../../../macros.inc'
|
||||
include '../../../../../KOSfuncs.inc'
|
||||
include '../../../../../develop/libraries/box_lib/load_lib.mac'
|
||||
include '../../../../../load_lib.mac'
|
||||
include '../../../../../dll.inc'
|
||||
include '../opengl_const.inc'
|
||||
|
||||
@@ -14,8 +14,7 @@ include '../opengl_const.inc'
|
||||
|
||||
align 4
|
||||
start:
|
||||
load_library name_tgl, cur_dir_path, library_path, system_path, \
|
||||
err_message_found_lib, head_f_l, import_lib_tinygl, err_message_import, head_f_i
|
||||
load_library name_tgl, library_path, system_path, import_tinygl
|
||||
cmp eax,SF_TERMINATE_PROCESS
|
||||
jz button.exit
|
||||
|
||||
@@ -62,9 +61,8 @@ draw_window:
|
||||
pushad
|
||||
mcall SF_REDRAW,SSF_BEGIN_DRAW
|
||||
|
||||
mov edx,0x33ffffff
|
||||
mcall SF_CREATE_WINDOW,(50 shl 16)+430,(30 shl 16)+400,,,caption
|
||||
stdcall [kosglSwapBuffers]
|
||||
mcall SF_CREATE_WINDOW,(50 shl 16)+430,(30 shl 16)+400,0x33ffffff,,caption
|
||||
call [kosglSwapBuffers]
|
||||
|
||||
mcall SF_REDRAW,SSF_END_DRAW
|
||||
popad
|
||||
@@ -83,7 +81,7 @@ key:
|
||||
fadd dword[delt_sc]
|
||||
fstp dword[scale]
|
||||
call draw_3d
|
||||
stdcall [kosglSwapBuffers]
|
||||
call [kosglSwapBuffers]
|
||||
@@:
|
||||
cmp ah,45 ;-
|
||||
jne @f
|
||||
@@ -91,7 +89,7 @@ key:
|
||||
fsub dword[delt_sc]
|
||||
fstp dword[scale]
|
||||
call draw_3d
|
||||
stdcall [kosglSwapBuffers]
|
||||
call [kosglSwapBuffers]
|
||||
@@:
|
||||
cmp ah,178 ;Up
|
||||
jne @f
|
||||
@@ -99,7 +97,7 @@ key:
|
||||
fadd dword[delt_size]
|
||||
fstp dword[angle_y]
|
||||
call draw_3d
|
||||
stdcall [kosglSwapBuffers]
|
||||
call [kosglSwapBuffers]
|
||||
@@:
|
||||
cmp ah,177 ;Down
|
||||
jne @f
|
||||
@@ -107,7 +105,7 @@ key:
|
||||
fsub dword[delt_size]
|
||||
fstp dword[angle_y]
|
||||
call draw_3d
|
||||
stdcall [kosglSwapBuffers]
|
||||
call [kosglSwapBuffers]
|
||||
@@:
|
||||
cmp ah,176 ;Left
|
||||
jne @f
|
||||
@@ -115,7 +113,7 @@ key:
|
||||
fadd dword[delt_size]
|
||||
fstp dword[angle_x]
|
||||
call draw_3d
|
||||
stdcall [kosglSwapBuffers]
|
||||
call [kosglSwapBuffers]
|
||||
@@:
|
||||
cmp ah,179 ;Right
|
||||
jne @f
|
||||
@@ -123,7 +121,7 @@ key:
|
||||
fsub dword[delt_size]
|
||||
fstp dword[angle_x]
|
||||
call draw_3d
|
||||
stdcall [kosglSwapBuffers]
|
||||
call [kosglSwapBuffers]
|
||||
@@:
|
||||
|
||||
jmp still
|
||||
@@ -139,14 +137,11 @@ button:
|
||||
|
||||
align 4
|
||||
caption db 'Test opengl 1.1 arrays, [Esc] - exit, [<-],[->],[Up],[Down] - rotate',0
|
||||
align 4
|
||||
ctx1 db 28 dup (0) ;TinyGLContext or KOSGLContext
|
||||
;sizeof.TinyGLContext = 28
|
||||
|
||||
align 4
|
||||
draw_3d:
|
||||
stdcall [glClear], GL_COLOR_BUFFER_BIT + GL_DEPTH_BUFFER_BIT ;очистим буфер цвета и глубины
|
||||
stdcall [glPushMatrix]
|
||||
call [glPushMatrix]
|
||||
|
||||
;масштаб и повороты
|
||||
stdcall [glTranslatef], 0.0,0.0,0.5
|
||||
@@ -155,7 +150,7 @@ stdcall [glPushMatrix]
|
||||
stdcall [glRotatef], [angle_y],0.0,1.0,0.0
|
||||
stdcall [glRotatef], [angle_x],1.0,0.0,0.0
|
||||
|
||||
;рисование через тндексный массив
|
||||
;рисование через индексный массив
|
||||
mov eax,house_3ds ;начало внедренного файла 3ds
|
||||
add eax,0xeb ;смещение по которому идут координаты вершин (получено с использованием программы info_3ds)
|
||||
stdcall [glVertexPointer], 3, GL_FLOAT, 0, eax ;задаем массив для вершин, 3 - число координат для одной вершины
|
||||
@@ -163,7 +158,7 @@ stdcall [glPushMatrix]
|
||||
stdcall [glDrawElements], GL_TRIANGLES, 0x1a6*3, GL_UNSIGNED_SHORT, Indices ;mode, count, type, *indices
|
||||
stdcall [glDisableClientState], GL_VERTEX_ARRAY ;отключаем режим рисования вершин
|
||||
|
||||
stdcall [glPopMatrix]
|
||||
call [glPopMatrix]
|
||||
ret
|
||||
|
||||
align 4
|
||||
@@ -199,17 +194,13 @@ include '../export.inc'
|
||||
;--------------------------------------------------
|
||||
system_path db '/sys/lib/'
|
||||
name_tgl db 'tinygl.obj',0
|
||||
err_message_found_lib db 'Sorry I cannot load library ',39,'tinygl.obj',39,0
|
||||
head_f_i:
|
||||
head_f_l db 'System error',0
|
||||
err_message_import db 'Error on load import library ',39,'tinygl.obj',39,0
|
||||
;--------------------------------------------------
|
||||
|
||||
align 4
|
||||
i_end:
|
||||
ctx1 rb 28 ;sizeof.TinyGLContext = 28
|
||||
cur_dir_path rb 4096
|
||||
library_path rb 4096
|
||||
rb 4096
|
||||
stacktop:
|
||||
cur_dir_path:
|
||||
rb 4096
|
||||
library_path:
|
||||
rb 4096
|
||||
mem:
|
||||
|
||||
@@ -6,7 +6,7 @@ use32
|
||||
include '../../../../../proc32.inc'
|
||||
include '../../../../../macros.inc'
|
||||
include '../../../../../KOSfuncs.inc'
|
||||
include '../../../../../develop/libraries/box_lib/load_lib.mac'
|
||||
include '../../../../../load_lib.mac'
|
||||
include '../../../../../dll.inc'
|
||||
include '../opengl_const.inc'
|
||||
|
||||
@@ -14,8 +14,7 @@ include '../opengl_const.inc'
|
||||
|
||||
align 4
|
||||
start:
|
||||
load_library name_tgl, cur_dir_path, library_path, system_path, \
|
||||
err_message_found_lib, head_f_l, import_lib_tinygl, err_message_import, head_f_i
|
||||
load_library name_tgl, library_path, system_path, import_tinygl
|
||||
cmp eax,SF_TERMINATE_PROCESS
|
||||
jz button.exit
|
||||
|
||||
@@ -23,7 +22,7 @@ start:
|
||||
|
||||
stdcall [kosglMakeCurrent], 10,10,300,225,ctx1
|
||||
stdcall [glEnable], GL_DEPTH_TEST
|
||||
stdcall [gluNewQuadric]
|
||||
call [gluNewQuadric]
|
||||
mov [qObj],eax
|
||||
|
||||
stdcall [glClearColor], 0.5,0.5,0.5,0.0
|
||||
@@ -170,7 +169,7 @@ delt_size dd 3.0
|
||||
|
||||
;--------------------------------------------------
|
||||
align 4
|
||||
import_lib_tinygl:
|
||||
import_tinygl:
|
||||
|
||||
macro E_LIB n
|
||||
{
|
||||
@@ -187,21 +186,13 @@ include '../export.inc'
|
||||
;--------------------------------------------------
|
||||
system_path db '/sys/lib/'
|
||||
name_tgl db 'tinygl.obj',0
|
||||
|
||||
head_f_i:
|
||||
head_f_l db '"System error',0
|
||||
err_message_import db 'Error on load import library ',39,'tinygl.obj',39,'" -tE',0
|
||||
err_message_found_lib db 'Sorry I cannot load library ',39,'tinygl.obj',39,'" -tE',0
|
||||
;--------------------------------------------------
|
||||
|
||||
align 16
|
||||
i_end:
|
||||
ctx1 db 28 dup (0) ;TinyGLContext or KOSGLContext
|
||||
;sizeof.TinyGLContext = 28
|
||||
ctx1 rb 28 ;sizeof.TinyGLContext = 28
|
||||
cur_dir_path rb 4096
|
||||
library_path rb 4096
|
||||
rb 2048
|
||||
stacktop:
|
||||
cur_dir_path:
|
||||
rb 4096
|
||||
library_path:
|
||||
rb 4096
|
||||
mem:
|
||||
|
||||
@@ -7,14 +7,13 @@ include '../../../../../proc32.inc'
|
||||
include '../../../../../macros.inc'
|
||||
include '../../../../../KOSfuncs.inc'
|
||||
include '../../../../../load_img.inc'
|
||||
include '../../../../../load_lib.mac'
|
||||
include '../opengl_const.inc'
|
||||
include '../zbuffer.inc'
|
||||
include '../../../../../develop/info3ds/info_fun_float.inc'
|
||||
|
||||
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
|
||||
@use_library mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
|
||||
|
||||
align 4
|
||||
image_data_toolbar dd 0
|
||||
IMAGE_TOOLBAR_ICON_SIZE equ 21*21*3
|
||||
|
||||
;Макрос для параметров типа double (8 байт)
|
||||
@@ -366,7 +365,7 @@ lmodel_ambient dd 0.2, 0.2, 0.2, 1.0 ; Параметры фонового ос
|
||||
|
||||
;--------------------------------------------------
|
||||
align 4
|
||||
import_lib_tinygl:
|
||||
import_tinygl:
|
||||
|
||||
macro E_LIB n
|
||||
{
|
||||
@@ -490,14 +489,6 @@ system_dir_1 db '/sys/lib/'
|
||||
lib_name_1 db 'buf2d.obj',0
|
||||
system_dir_2 db '/sys/lib/'
|
||||
lib_name_2 db 'libimg.obj',0
|
||||
err_msg_found_lib_0 db 'Sorry I cannot load library ',39,'tinygl.obj',39,'" -tE',0
|
||||
err_msg_found_lib_1 db 'Sorry I cannot load library ',39,'buf2d.obj',39,'" -tE',0
|
||||
err_msg_found_lib_2 db 'Sorry I cannot load library ',39,'libimg.obj',39,'" -tE',0
|
||||
head_f_i:
|
||||
head_f_l db '"System error',0
|
||||
err_msg_import_0 db 'Error on load import library ',39,'tinygl.obj',39,'" -tE',0
|
||||
err_msg_import_1 db 'Error on load import library ',39,'buf2d.obj',39,'" -tE',0
|
||||
err_msg_import_2 db 'Error on load import library ',39,'libimg.obj',39,'" -tE',0
|
||||
;--------------------------------------------------
|
||||
|
||||
txt_scale:
|
||||
@@ -535,23 +526,21 @@ buf_1:
|
||||
|
||||
align 4
|
||||
l_libs_start:
|
||||
lib_0 l_libs lib_name_0, cur_dir_path, file_name, system_dir_0,\
|
||||
err_msg_found_lib_0, head_f_l, import_lib_tinygl,err_msg_import_0,head_f_i
|
||||
lib_1 l_libs lib_name_1, cur_dir_path, file_name, system_dir_1,\
|
||||
err_msg_found_lib_1, head_f_l, import_buf2d, err_msg_import_1,head_f_i
|
||||
lib_2 l_libs lib_name_2, cur_dir_path, file_name, system_dir_2,\
|
||||
err_msg_found_lib_2, head_f_l, import_libimg, err_msg_import_2, head_f_i
|
||||
lib_0 l_libs lib_name_0, file_name, system_dir_0, import_tinygl
|
||||
lib_1 l_libs lib_name_1, file_name, system_dir_1, import_buf2d
|
||||
lib_2 l_libs lib_name_2, file_name, system_dir_2, import_libimg
|
||||
l_libs_end:
|
||||
|
||||
align 4
|
||||
i_end:
|
||||
ctx1 rb 28 ;sizeof.TinyGLContext = 28
|
||||
image_data_toolbar dd 0
|
||||
qObj dd 0
|
||||
run_file_70 FileInfoBlock
|
||||
sc system_colors
|
||||
align 16
|
||||
cur_dir_path rb 4096
|
||||
file_name rb 4096
|
||||
rb 4096
|
||||
stacktop:
|
||||
cur_dir_path rb 4096
|
||||
file_name rb 4096
|
||||
mem:
|
||||
|
||||
@@ -7,14 +7,13 @@ include '../../../../../proc32.inc'
|
||||
include '../../../../../macros.inc'
|
||||
include '../../../../../KOSfuncs.inc'
|
||||
include '../../../../../load_img.inc'
|
||||
include '../../../../../load_lib.mac'
|
||||
include '../opengl_const.inc'
|
||||
include '../zbuffer.inc'
|
||||
include '../../../../../develop/info3ds/info_fun_float.inc'
|
||||
|
||||
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
|
||||
@use_library mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
|
||||
|
||||
align 4
|
||||
image_data_toolbar dd 0
|
||||
IMAGE_TOOLBAR_ICON_SIZE equ 21*21*3
|
||||
|
||||
;Макрос для параметров типа double (8 байт)
|
||||
@@ -357,7 +356,7 @@ lmodel_ambient dd 0.2, 0.2, 0.2, 1.0 ; Параметры фонового ос
|
||||
|
||||
;--------------------------------------------------
|
||||
align 4
|
||||
import_lib_tinygl:
|
||||
import_tinygl:
|
||||
|
||||
macro E_LIB n
|
||||
{
|
||||
@@ -481,14 +480,6 @@ system_dir_1 db '/sys/lib/'
|
||||
lib_name_1 db 'buf2d.obj',0
|
||||
system_dir_2 db '/sys/lib/'
|
||||
lib_name_2 db 'libimg.obj',0
|
||||
err_msg_found_lib_0 db 'Sorry I cannot load library ',39,'tinygl.obj',39,'" -tE',0
|
||||
err_msg_found_lib_1 db 'Sorry I cannot load library ',39,'buf2d.obj',39,'" -tE',0
|
||||
err_msg_found_lib_2 db 'Sorry I cannot load library ',39,'libimg.obj',39,'" -tE',0
|
||||
head_f_i:
|
||||
head_f_l db '"System error',0
|
||||
err_msg_import_0 db 'Error on load import library ',39,'tinygl.obj',39,'" -tE',0
|
||||
err_msg_import_1 db 'Error on load import library ',39,'buf2d.obj',39,'" -tE',0
|
||||
err_msg_import_2 db 'Error on load import library ',39,'libimg.obj',39,'" -tE',0
|
||||
;--------------------------------------------------
|
||||
|
||||
txt_scale:
|
||||
@@ -526,23 +517,21 @@ buf_1:
|
||||
|
||||
align 4
|
||||
l_libs_start:
|
||||
lib_0 l_libs lib_name_0, cur_dir_path, file_name, system_dir_0,\
|
||||
err_msg_found_lib_0, head_f_l, import_lib_tinygl,err_msg_import_0,head_f_i
|
||||
lib_1 l_libs lib_name_1, cur_dir_path, file_name, system_dir_1,\
|
||||
err_msg_found_lib_1, head_f_l, import_buf2d, err_msg_import_1,head_f_i
|
||||
lib_2 l_libs lib_name_2, cur_dir_path, file_name, system_dir_2,\
|
||||
err_msg_found_lib_2, head_f_l, import_libimg, err_msg_import_2, head_f_i
|
||||
lib_0 l_libs lib_name_0, file_name, system_dir_0, import_tinygl
|
||||
lib_1 l_libs lib_name_1, file_name, system_dir_1, import_buf2d
|
||||
lib_2 l_libs lib_name_2, file_name, system_dir_2, import_libimg
|
||||
l_libs_end:
|
||||
|
||||
align 4
|
||||
i_end:
|
||||
ctx1 rb 28 ;sizeof.TinyGLContext = 28
|
||||
image_data_toolbar dd 0
|
||||
qObj dd 0
|
||||
run_file_70 FileInfoBlock
|
||||
sc system_colors
|
||||
align 16
|
||||
cur_dir_path rb 4096
|
||||
file_name rb 4096
|
||||
rb 4096
|
||||
stacktop:
|
||||
cur_dir_path rb 4096
|
||||
file_name rb 4096
|
||||
mem:
|
||||
|
||||
@@ -7,11 +7,12 @@ include '../../../../../proc32.inc'
|
||||
include '../../../../../macros.inc'
|
||||
include '../../../../../KOSfuncs.inc'
|
||||
include '../../../../../load_img.inc'
|
||||
include '../../../../../load_lib.mac'
|
||||
include '../opengl_const.inc'
|
||||
include '../zbuffer.inc'
|
||||
include '../../../../../develop/info3ds/info_fun_float.inc'
|
||||
|
||||
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
|
||||
@use_library mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
|
||||
|
||||
;Макрос для параметров типа double (8 байт)
|
||||
macro glpush GLDoubleVar {
|
||||
@@ -19,8 +20,6 @@ macro glpush GLDoubleVar {
|
||||
push dword[GLDoubleVar]
|
||||
}
|
||||
|
||||
align 4
|
||||
image_data_toolbar dd 0
|
||||
IMAGE_TOOLBAR_ICON_SIZE equ 21*21*3
|
||||
|
||||
align 4
|
||||
@@ -407,7 +406,7 @@ lmodel_ambient dd 0.2, 0.2, 0.2, 1.0 ; Параметры фонового ос
|
||||
|
||||
;--------------------------------------------------
|
||||
align 4
|
||||
import_lib_tinygl:
|
||||
import_tinygl:
|
||||
|
||||
macro E_LIB n
|
||||
{
|
||||
@@ -531,14 +530,6 @@ system_dir_1 db '/sys/lib/'
|
||||
lib_name_1 db 'buf2d.obj',0
|
||||
system_dir_2 db '/sys/lib/'
|
||||
lib_name_2 db 'libimg.obj',0
|
||||
err_msg_found_lib_0 db 'Sorry I cannot load library ',39,'tinygl.obj',39,'" -tE',0
|
||||
err_msg_found_lib_1 db 'Sorry I cannot load library ',39,'buf2d.obj',39,'" -tE',0
|
||||
err_msg_found_lib_2 db 'Sorry I cannot load library ',39,'libimg.obj',39,'" -tE',0
|
||||
head_f_i:
|
||||
head_f_l db '"System error',0
|
||||
err_msg_import_0 db 'Error on load import library ',39,'tinygl.obj',39,'" -tE',0
|
||||
err_msg_import_1 db 'Error on load import library ',39,'buf2d.obj',39,'" -tE',0
|
||||
err_msg_import_2 db 'Error on load import library ',39,'libimg.obj',39,'" -tE',0
|
||||
;--------------------------------------------------
|
||||
|
||||
txt_scale:
|
||||
@@ -576,17 +567,15 @@ buf_1:
|
||||
|
||||
align 4
|
||||
l_libs_start:
|
||||
lib_0 l_libs lib_name_0, cur_dir_path, file_name, system_dir_0,\
|
||||
err_msg_found_lib_0, head_f_l, import_lib_tinygl,err_msg_import_0,head_f_i
|
||||
lib_1 l_libs lib_name_1, cur_dir_path, file_name, system_dir_1,\
|
||||
err_msg_found_lib_1, head_f_l, import_buf2d, err_msg_import_1,head_f_i
|
||||
lib_2 l_libs lib_name_2, cur_dir_path, file_name, system_dir_2,\
|
||||
err_msg_found_lib_2, head_f_l, import_libimg, err_msg_import_2, head_f_i
|
||||
lib_0 l_libs lib_name_0, file_name, system_dir_0, import_tinygl
|
||||
lib_1 l_libs lib_name_1, file_name, system_dir_1, import_buf2d
|
||||
lib_2 l_libs lib_name_2, file_name, system_dir_2, import_libimg
|
||||
l_libs_end:
|
||||
|
||||
align 4
|
||||
i_end:
|
||||
ctx1 rb 28 ;sizeof.TinyGLContext = 28
|
||||
image_data_toolbar dd 0
|
||||
dr_figure dd 0
|
||||
qObj dd 0
|
||||
TexObj dd 0 ;массив указателей на текстуры (в данном случае 1 шт.)
|
||||
@@ -596,8 +585,8 @@ i_end:
|
||||
run_file_70 FileInfoBlock
|
||||
sc system_colors
|
||||
align 16
|
||||
cur_dir_path rb 4096
|
||||
file_name rb 4096
|
||||
rb 4096
|
||||
stacktop:
|
||||
cur_dir_path rb 4096
|
||||
file_name rb 4096
|
||||
mem:
|
||||
|
||||
@@ -7,11 +7,12 @@ include '../../../../../proc32.inc'
|
||||
include '../../../../../macros.inc'
|
||||
include '../../../../../KOSfuncs.inc'
|
||||
include '../../../../../load_img.inc'
|
||||
include '../../../../../load_lib.mac'
|
||||
include '../opengl_const.inc'
|
||||
include '../zbuffer.inc'
|
||||
include '../../../../../develop/info3ds/info_fun_float.inc'
|
||||
|
||||
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
|
||||
@use_library mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
|
||||
|
||||
;Макрос для параметров типа double (8 байт)
|
||||
macro glpush GLDoubleVar {
|
||||
@@ -19,8 +20,6 @@ macro glpush GLDoubleVar {
|
||||
push dword[GLDoubleVar]
|
||||
}
|
||||
|
||||
align 4
|
||||
image_data_toolbar dd 0
|
||||
IMAGE_TOOLBAR_ICON_SIZE equ 21*21*3
|
||||
|
||||
align 4
|
||||
@@ -337,7 +336,7 @@ delt_size dd 3.0
|
||||
|
||||
;--------------------------------------------------
|
||||
align 4
|
||||
import_lib_tinygl:
|
||||
import_tinygl:
|
||||
|
||||
macro E_LIB n
|
||||
{
|
||||
@@ -461,14 +460,6 @@ system_dir_1 db '/sys/lib/'
|
||||
lib_name_1 db 'buf2d.obj',0
|
||||
system_dir_2 db '/sys/lib/'
|
||||
lib_name_2 db 'libimg.obj',0
|
||||
err_msg_found_lib_0 db 'Sorry I cannot load library ',39,'tinygl.obj',39,'" -tE',0
|
||||
err_msg_found_lib_1 db 'Sorry I cannot load library ',39,'buf2d.obj',39,'" -tE',0
|
||||
err_msg_found_lib_2 db 'Sorry I cannot load library ',39,'libimg.obj',39,'" -tE',0
|
||||
head_f_i:
|
||||
head_f_l db '"System error',0
|
||||
err_msg_import_0 db 'Error on load import library ',39,'tinygl.obj',39,'" -tE',0
|
||||
err_msg_import_1 db 'Error on load import library ',39,'buf2d.obj',39,'" -tE',0
|
||||
err_msg_import_2 db 'Error on load import library ',39,'libimg.obj',39,'" -tE',0
|
||||
;--------------------------------------------------
|
||||
|
||||
txt_scale:
|
||||
@@ -512,17 +503,15 @@ buf_1:
|
||||
|
||||
align 4
|
||||
l_libs_start:
|
||||
lib_0 l_libs lib_name_0, cur_dir_path, file_name, system_dir_0,\
|
||||
err_msg_found_lib_0, head_f_l, import_lib_tinygl,err_msg_import_0,head_f_i
|
||||
lib_1 l_libs lib_name_1, cur_dir_path, file_name, system_dir_1,\
|
||||
err_msg_found_lib_1, head_f_l, import_buf2d, err_msg_import_1,head_f_i
|
||||
lib_2 l_libs lib_name_2, cur_dir_path, file_name, system_dir_2,\
|
||||
err_msg_found_lib_2, head_f_l, import_libimg, err_msg_import_2, head_f_i
|
||||
lib_0 l_libs lib_name_0, file_name, system_dir_0, import_tinygl
|
||||
lib_1 l_libs lib_name_1, file_name, system_dir_1, import_buf2d
|
||||
lib_2 l_libs lib_name_2, file_name, system_dir_2, import_libimg
|
||||
l_libs_end:
|
||||
|
||||
align 4
|
||||
i_end:
|
||||
ctx1 rb 28 ;sizeof.TinyGLContext = 28
|
||||
image_data_toolbar dd 0
|
||||
dr_figure dd 0
|
||||
qObj dd 0
|
||||
TexObj dd 0 ;массив указателей на текстуры (в данном случае 1 шт.)
|
||||
@@ -532,8 +521,8 @@ i_end:
|
||||
run_file_70 FileInfoBlock
|
||||
sc system_colors
|
||||
align 16
|
||||
cur_dir_path rb 4096
|
||||
file_name rb 4096
|
||||
rb 4096
|
||||
stacktop:
|
||||
cur_dir_path rb 4096
|
||||
file_name rb 4096
|
||||
mem:
|
||||
|
||||
@@ -7,11 +7,12 @@ include '../../../../../proc32.inc'
|
||||
include '../../../../../macros.inc'
|
||||
include '../../../../../KOSfuncs.inc'
|
||||
include '../../../../../load_img.inc'
|
||||
include '../../../../../load_lib.mac'
|
||||
include '../opengl_const.inc'
|
||||
include '../zbuffer.inc'
|
||||
include '../../../../../develop/info3ds/info_fun_float.inc'
|
||||
|
||||
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
|
||||
@use_library mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
|
||||
|
||||
;Макрос для параметров типа double (8 байт)
|
||||
macro glpush GLDoubleVar {
|
||||
@@ -19,8 +20,6 @@ macro glpush GLDoubleVar {
|
||||
push dword[GLDoubleVar]
|
||||
}
|
||||
|
||||
align 4
|
||||
image_data_toolbar dd 0
|
||||
IMAGE_TOOLBAR_ICON_SIZE equ 21*21*3
|
||||
|
||||
align 4
|
||||
@@ -294,7 +293,7 @@ delt_size dd 3.0
|
||||
|
||||
;--------------------------------------------------
|
||||
align 4
|
||||
import_lib_tinygl:
|
||||
import_tinygl:
|
||||
|
||||
macro E_LIB n
|
||||
{
|
||||
@@ -418,14 +417,6 @@ system_dir_1 db '/sys/lib/'
|
||||
lib_name_1 db 'buf2d.obj',0
|
||||
system_dir_2 db '/sys/lib/'
|
||||
lib_name_2 db 'libimg.obj',0
|
||||
err_msg_found_lib_0 db 'Sorry I cannot load library ',39,'tinygl.obj',39,'" -tE',0
|
||||
err_msg_found_lib_1 db 'Sorry I cannot load library ',39,'buf2d.obj',39,'" -tE',0
|
||||
err_msg_found_lib_2 db 'Sorry I cannot load library ',39,'libimg.obj',39,'" -tE',0
|
||||
head_f_i:
|
||||
head_f_l db '"System error',0
|
||||
err_msg_import_0 db 'Error on load import library ',39,'tinygl.obj',39,'" -tE',0
|
||||
err_msg_import_1 db 'Error on load import library ',39,'buf2d.obj',39,'" -tE',0
|
||||
err_msg_import_2 db 'Error on load import library ',39,'libimg.obj',39,'" -tE',0
|
||||
;--------------------------------------------------
|
||||
|
||||
txt_scale:
|
||||
@@ -469,17 +460,15 @@ buf_1:
|
||||
|
||||
align 4
|
||||
l_libs_start:
|
||||
lib_0 l_libs lib_name_0, cur_dir_path, file_name, system_dir_0,\
|
||||
err_msg_found_lib_0, head_f_l, import_lib_tinygl,err_msg_import_0,head_f_i
|
||||
lib_1 l_libs lib_name_1, cur_dir_path, file_name, system_dir_1,\
|
||||
err_msg_found_lib_1, head_f_l, import_buf2d, err_msg_import_1,head_f_i
|
||||
lib_2 l_libs lib_name_2, cur_dir_path, file_name, system_dir_2,\
|
||||
err_msg_found_lib_2, head_f_l, import_libimg, err_msg_import_2, head_f_i
|
||||
lib_0 l_libs lib_name_0, file_name, system_dir_0, import_tinygl
|
||||
lib_1 l_libs lib_name_1, file_name, system_dir_1, import_buf2d
|
||||
lib_2 l_libs lib_name_2, file_name, system_dir_2, import_libimg
|
||||
l_libs_end:
|
||||
|
||||
align 4
|
||||
i_end:
|
||||
ctx1 rb 28 ;sizeof.TinyGLContext = 28
|
||||
image_data_toolbar dd 0
|
||||
qObj dd 0
|
||||
TexObj dd 0 ;массив указателей на текстуры (в данном случае 1 шт.)
|
||||
texture dd 0 ;указатель на память с текстурой
|
||||
@@ -488,8 +477,8 @@ i_end:
|
||||
run_file_70 FileInfoBlock
|
||||
sc system_colors
|
||||
align 16
|
||||
cur_dir_path rb 4096
|
||||
file_name rb 4096
|
||||
rb 4096
|
||||
stacktop:
|
||||
cur_dir_path rb 4096
|
||||
file_name rb 4096
|
||||
mem:
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
; Š®«¨ç¥á⢮ § ª®¢ ç¨á« ¯®á«¥ § ¯ï⮩ (1-17)
|
||||
NumberSymbolsAD DW 5
|
||||
; Š®áâ âë (10 ¢ á⥯¥¨ N)
|
||||
MConst DQ 1.0E1,1.0E2,1.0E3,1.0E4,1.0E5
|
||||
MConst: DQ 1.0E1,1.0E2,1.0E3,1.0E4,1.0E5
|
||||
DQ 1.0E6,1.0E7,1.0E8,1.0E9,1.0E10
|
||||
DQ 1.0E11,1.0E12,1.0E13,1.0E14,1.0E15
|
||||
DQ 1.0E16,1.0E17,1.0E18,1.0E19,1.0E20
|
||||
@@ -31,6 +31,7 @@ MConst DQ 1.0E1,1.0E2,1.0E3,1.0E4,1.0E5
|
||||
DQ 1.0E116,1.0E117,1.0E118,1.0E119,1.0E120
|
||||
DQ 1.0E121,1.0E122,1.0E123,1.0E124,1.0E125
|
||||
DQ 1.0E126,1.0E127,1.0E128
|
||||
.end:
|
||||
; —¨á«® á ¯« ¢ î饩 § ¯ï⮩ ¤¢®©®© â®ç®áâ¨
|
||||
Data_Double DQ ?
|
||||
; —¨á«® ¢ BCD-ä®à¬ â¥
|
||||
@@ -39,9 +40,10 @@ Data_BCD DT ?
|
||||
Data_Flag DB ?
|
||||
; ‡ ª १ã«ìâ â (¥á«¨ ¥ 0 - ®âà¨æ ⥫쮥 ç¨á«®)
|
||||
Data_Sign DB ?
|
||||
; ‡ ª १ã«ìâ â - 0 ¤«ï ..e+.. ¨ 1 ¤«ï ..e-..
|
||||
Data_Sign_Exp DB ?
|
||||
|
||||
|
||||
db 0 ;㪠§ ⥫ì ᤢ¨£ ¢ ¯ ¬ïâ¨
|
||||
align 4
|
||||
; ‘âப ¤«ï åà ¥¨ï ç¨á« ¢ ª®¤¥ ASCII
|
||||
Data_String DB 32 DUP (?)
|
||||
|
||||
@@ -59,10 +61,11 @@ Data_String DB 32 DUP (?)
|
||||
;* ‚ëå®¤ë¥ ¯ à ¬¥âàë: *
|
||||
;* Data_String - áâப -१ã«ìâ â. *
|
||||
;*******************************************************
|
||||
align 4
|
||||
DoubleFloat_to_String:
|
||||
pushad
|
||||
; <EFBFBD>¥§ã«ìâ â § ¯¨áë¢ âì ¢ áâபã Data_String
|
||||
lea EDI, [Data_String]
|
||||
mov EDI, Data_String
|
||||
|
||||
; ‘¤¢¨£ ¥¬ ç¨á«® ¢«¥¢® NumberSymbolsAD
|
||||
; ¤¥áïâ¨çëå à §à冷¢
|
||||
@@ -74,9 +77,7 @@ DoubleFloat_to_String:
|
||||
je .NoShifts ;¥â æ¨äà ¯®á«¥ § ¯ï⮩
|
||||
jl .Error ;®è¨¡ª
|
||||
dec BX
|
||||
shl BX, 3 ;㬮¦ ¥¬ 8
|
||||
lea eax,[MConst]
|
||||
add EBX, eax
|
||||
lea ebx,[MConst+8*ebx]
|
||||
fmul qword [EBX] ;㬮¦¨âì ª®áâ âã
|
||||
.NoShifts:
|
||||
; ˆ§¢«¥çì ç¨á«® ¢ ª®¤¥ BCD
|
||||
@@ -130,8 +131,8 @@ DoubleFloat_to_String:
|
||||
stosb
|
||||
|
||||
; “¡à âì ¥§ ç 騥 㫨 á«¥¢
|
||||
lea EDI, [Data_String]
|
||||
lea ESI, [Data_String]
|
||||
mov EDI, Data_String
|
||||
mov ESI, Data_String
|
||||
; <EFBFBD>யãáâ¨âì § ª ç¨á« , ¥á«¨ ® ¥áâì
|
||||
cmp byte [ESI],'-'
|
||||
jne .N2
|
||||
@@ -151,10 +152,11 @@ DoubleFloat_to_String:
|
||||
; Žè¨¡ª - ¥â § ç é¨å æ¨äà
|
||||
jmp .Error
|
||||
; ‘ª®¯¨à®¢ âì § ç éãî ç áâì ç¨á« ¢ ç «® áâப¨
|
||||
align 4
|
||||
.N4: rep movsb
|
||||
jmp .End
|
||||
|
||||
; Žè¨¡ª
|
||||
align 4
|
||||
.Error:
|
||||
mov AL,'E'
|
||||
stosb
|
||||
@@ -166,12 +168,14 @@ DoubleFloat_to_String:
|
||||
stosb
|
||||
jmp .End
|
||||
; <EFBFBD>¥à¥¯®«¥¨¥ à §à冷© á¥âª¨
|
||||
align 4
|
||||
.Overflow:
|
||||
mov AL,'#'
|
||||
stosb
|
||||
xor AL,AL
|
||||
stosb
|
||||
; Š®¥æ ¯à®æ¥¤ãàë
|
||||
align 4
|
||||
.End:
|
||||
popad
|
||||
ret
|
||||
@@ -184,6 +188,7 @@ DoubleFloat_to_String:
|
||||
;* ‚ëå®¤ë¥ ¯ à ¬¥âàë: *
|
||||
;* Data_Double - ç¨á«® ¢ ¤¢®¨ç®¬ ª®¤¥. *
|
||||
;****************************************************
|
||||
align 4
|
||||
String_to_DoubleFloat:
|
||||
pushad
|
||||
cld
|
||||
@@ -193,110 +198,200 @@ String_to_DoubleFloat:
|
||||
mov word [Data_BCD+8],0
|
||||
; Žç¨é ¥¬ ¡ ©â § ª
|
||||
mov [Data_Sign],0
|
||||
; ‡ ®á¨¬ ¢ SI 㪠§ ⥫ì áâபã
|
||||
lea ESI, [Data_String]
|
||||
; ‡ ®á¨¬ ¢ esi 㪠§ ⥫ì áâபã
|
||||
mov esi, Data_String
|
||||
; <EFBFBD>யã᪠¥¬ ¯à®¡¥«ë ¯¥à¥¤ ç¨á«®¬
|
||||
mov ecx,64 ;§ é¨â ®â § 横«¨¢ ¨ï
|
||||
.ShiftIgnore:
|
||||
lodsb
|
||||
cmp AL,' '
|
||||
jne .ShiftIgnoreEnd
|
||||
loop .ShiftIgnore
|
||||
jmp .Error
|
||||
cmp al,' '
|
||||
jne .ShiftIgnoreEnd
|
||||
loop .ShiftIgnore
|
||||
jmp .Error
|
||||
align 4
|
||||
.ShiftIgnoreEnd:
|
||||
; <EFBFBD>஢¥à塞 § ª ç¨á«
|
||||
cmp AL,'-'
|
||||
cmp al,'-'
|
||||
jne .Positive
|
||||
mov [Data_Sign],80h
|
||||
lodsb
|
||||
.Positive:
|
||||
mov [Data_Flag],0 ;¯à¨§ ª «¨ç¨ï â®çª¨
|
||||
mov DX,0 ;¯®§¨æ¨ï â®çª¨
|
||||
xor edx,edx ;¯®§¨æ¨ï â®çª¨
|
||||
mov ecx,18 ;¬ ªá. ç¨á«® à §à冷¢
|
||||
align 4
|
||||
.ASCIItoBCDConversion:
|
||||
cmp AL,'.' ;â®çª ?
|
||||
cmp al,'.' ;â®çª ?
|
||||
jne .NotDot
|
||||
cmp [Data_Flag],0 ;â®çª ¥ ¢áâà¥ç « áì?
|
||||
jne .Error
|
||||
jne .Error ;¥á«¨ â®çª 㦥 ¡ë«
|
||||
mov [Data_Flag],1
|
||||
lodsb
|
||||
cmp AL,0 ;ª®¥æ áâப¨?
|
||||
jne .NotDot
|
||||
or al,al ;ª®¥æ áâப¨?
|
||||
jnz .NotDot
|
||||
jmp .ASCIItoBCDConversionEnd
|
||||
align 4
|
||||
.NotDot:
|
||||
; “¢¥«¨ç¨âì 1 § 票¥ ¯®§¨æ¨¨ â®çª¨,
|
||||
; ¥á«¨ ® ¥é¥ ¥ ¢áâà¥ç « áì
|
||||
cmp [Data_Flag],0
|
||||
jnz .Figures
|
||||
inc DX
|
||||
inc edx
|
||||
.Figures:
|
||||
cmp al,'e'
|
||||
je .exp_form
|
||||
cmp al,'E'
|
||||
jne @f
|
||||
.exp_form:
|
||||
call string_ExpForm ;¥á«¨ ç¨á«® ¢ ä®à¬ ⥠..e..
|
||||
or al,al
|
||||
jnz .Error
|
||||
jmp .ASCIItoBCDConversionEnd
|
||||
@@:
|
||||
; ‘¨¬¢®«ë ç¨á« ¤®«¦ë ¡ëâì æ¨äà ¬¨
|
||||
cmp AL,'0'
|
||||
cmp al,'0'
|
||||
jb .Error
|
||||
cmp AL,'9'
|
||||
cmp al,'9'
|
||||
ja .Error
|
||||
; <EFBFBD>¨è¥¬ ®ç¥à¥¤ãî æ¨äàã ¢ ¬« ¤èãî â¥âà ¤ã BCD
|
||||
and AL,0Fh
|
||||
or byte [Data_BCD],AL
|
||||
and al,15 ;ᨬ¢®«ë 0-9 ¯¥à¥¢®¤¨¬ ¢ ç¨á«®
|
||||
or byte [Data_BCD],al
|
||||
; <EFBFBD>஢¥àª ª®¥æ áâப¨
|
||||
cmp byte [ESI],0
|
||||
cmp byte [esi],0
|
||||
je .ASCIItoBCDConversionEnd
|
||||
; ‘¤¢¨£ ¥¬ BCD 4 à §àï¤ ¢«¥¢®
|
||||
; (ᤢ¨£ ¥¬ áâ à訥 2 ¡ ©â )
|
||||
mov AX,word [Data_BCD+6]
|
||||
shld word [Data_BCD+8],AX,4
|
||||
mov ax,word [Data_BCD+6]
|
||||
shld word [Data_BCD+8],ax,4
|
||||
; (ᤢ¨£ ¥¬ á।¨¥ 4 ¡ ©â )
|
||||
mov EAX, dword [Data_BCD]
|
||||
shld dword [Data_BCD+4],EAX,4
|
||||
mov eax,dword [Data_BCD]
|
||||
shld dword [Data_BCD+4],eax,4
|
||||
; (ᤢ¨£ ¥¬ ¬« ¤è¨¥ 4 ¡ ©â )
|
||||
shl dword [Data_BCD],4
|
||||
; ‡ £à㦠¥¬ á«¥¤ãî騩 ᨬ¢®« ¢ AL
|
||||
lodsb
|
||||
loop .ASCIItoBCDConversion
|
||||
loop .ASCIItoBCDConversion ;¥á«¨ ¥ ª®¬¯¨«. â® ¯®áâ ¢¨âì dec ecx, jnz ...
|
||||
; …᫨ 19-© ᨬ¢®« ¥ 0 ¨ ¥ â®çª ,
|
||||
; â® ®è¨¡ª ¯¥à¥¯®«¥¨ï
|
||||
cmp AL,'.'
|
||||
cmp al,'.'
|
||||
jne .NotDot2
|
||||
inc ecx
|
||||
inc ecx ;¯à®¯ã᪠â®çª¨ ¢ ª®æ¥ ®ç¥ì ¡®«ì讣® ç¨á«
|
||||
lodsb
|
||||
.NotDot2:
|
||||
cmp AL,0
|
||||
jne .Error ;¯¥à¥¯®«¥¨¥ à §à冷© á¥âª¨
|
||||
or al,al ;¯¥à¥¯®«¥¨¥ à §à冷© á¥âª¨?
|
||||
jz .ASCIItoBCDConversionEnd
|
||||
align 4
|
||||
.Error: ; <EFBFBD>ਠ«î¡®© ®è¨¡ª¥ ®¡ã«¨âì १ã«ìâ â
|
||||
fldz ;§ ¥á⨠®«ì á á⥪ á®¯à®æ¥áá®à
|
||||
fstp [Data_Double]
|
||||
jmp .End
|
||||
|
||||
; <EFBFBD><EFBFBD>…Ž<EFBFBD><EFBFBD>€‡Ž‚€’œ —ˆ‘‹Ž ˆ‡ ŠŽ„€ BCD ‚ ‚…™…‘’‚…<EFBFBD><EFBFBD>Ž… —ˆ‘‹Ž
|
||||
.ASCIItoBCDConversionEnd:
|
||||
; ‚¯¨á âì § ª ¢ áâ à訩 ¡ ©â
|
||||
mov AL,[Data_Sign]
|
||||
mov byte [Data_BCD+9],AL
|
||||
mov al,[Data_Sign]
|
||||
mov byte [Data_BCD+9],al
|
||||
; ‘¡à®á¨âì ॣ¨áâàë á®¯à®æ¥áá®à
|
||||
fninit
|
||||
; ‡ £à㧨âì ¢ á®¯à®æ¥áá®à ç¨á«® ¢ BCD-ä®à¬ â¥
|
||||
fbld [Data_BCD]
|
||||
; ‚ëç¨á«¨âì ®¬¥à ¤¥«¨â¥«ï
|
||||
mov EBX,18+1
|
||||
sub BX,CX
|
||||
sub BX,DX
|
||||
cmp EBX,0
|
||||
je .NoDiv
|
||||
dec EBX
|
||||
shl EBX,3 ;㬮¦ ¥¬ 8
|
||||
lea eax,[MConst]
|
||||
add EBX,eax
|
||||
fdiv qword [EBX] ;à §¤¥«¨âì ª®áâ âã
|
||||
.NoDiv:; ‚ë£à㧨âì ç¨á«® ¢ ¤¢®¨ç®¬ ä®à¬ â¥
|
||||
fstp [Data_Double]
|
||||
jmp .End
|
||||
|
||||
.Error:; <EFBFBD>ਠ«î¡®© ®è¨¡ª¥ ®¡ã«¨âì १ã«ìâ â
|
||||
fldz ;§ ¥á⨠®«ì á á⥪ á®¯à®æ¥áá®à
|
||||
fstp [Data_Double]
|
||||
; ‚ëç¨á«¨âì ®¬¥à ¤¥«¨â¥«ï ¨«¨ ¬®¦¨â¥«ï
|
||||
lea ebx,[ecx+edx-18]
|
||||
cmp ebx,0
|
||||
jle .NoMul ;¥á«¨ ç¨á«® e-..
|
||||
dec ebx
|
||||
jz .NoDiv ;¥á«¨ ç¨á«® e+0
|
||||
dec ebx
|
||||
lea ebx,[MConst+8*ebx]
|
||||
cmp ebx,MConst.end
|
||||
jl @f
|
||||
ffree st0
|
||||
fincstp
|
||||
jmp .Error ;¥á«¨ ®ç¥ì ¡®«ì讥 ç¨á«® e+**
|
||||
@@:
|
||||
fmul qword [ebx] ;㬮¦¨âì ª®áâ âã (¤«ï ç¨á¥« á ¯à¨áâ ¢ª®© e+..)
|
||||
jmp .NoDiv
|
||||
.NoMul:
|
||||
neg ebx
|
||||
lea ebx,[MConst+8*ebx]
|
||||
cmp ebx,MConst.end
|
||||
jl @f
|
||||
ffree st0
|
||||
fincstp
|
||||
jmp .Error ;¥á«¨ ®ç¥ì ¬ «¥ìª®¥ ç¨á«® e-**
|
||||
@@:
|
||||
fdiv qword [ebx] ;à §¤¥«¨âì ª®áâ âã
|
||||
.NoDiv: ;‚ë£à㧨âì ç¨á«® ¢ ¤¢®¨ç®¬ ä®à¬ â¥
|
||||
fstp [Data_Double]
|
||||
.End:
|
||||
popad
|
||||
ret
|
||||
|
||||
;output:
|
||||
; eax - 1 if error
|
||||
; edx += size
|
||||
align 4
|
||||
proc str_cat, str1:dword, str2:dword
|
||||
push eax ecx edi esi
|
||||
proc string_ExpForm uses ebx
|
||||
mov [Data_Sign_Exp],0
|
||||
xor eax,eax
|
||||
lodsb
|
||||
cmp al,'+'
|
||||
jne @f
|
||||
lodsb
|
||||
@@:
|
||||
cmp al,'-'
|
||||
jne @f
|
||||
inc [Data_Sign_Exp]
|
||||
lodsb
|
||||
@@:
|
||||
|
||||
xor ebx,ebx
|
||||
.cycle0:
|
||||
cmp al,0
|
||||
je .cycle0end
|
||||
cmp al,9
|
||||
je .cycle0end
|
||||
cmp al,10
|
||||
je .cycle0end
|
||||
cmp al,13
|
||||
je .cycle0end
|
||||
cmp al,' '
|
||||
je .cycle0end
|
||||
cmp al,'0'
|
||||
jb .Error
|
||||
cmp al,'9'
|
||||
ja .Error
|
||||
|
||||
imul ebx,10
|
||||
and eax,15 ;ᨬ¢®«ë 0-9 ¯¥à¥¢®¤¨¬ ¢ ç¨á«®
|
||||
add ebx,eax
|
||||
lodsb
|
||||
jmp .cycle0
|
||||
.cycle0end:
|
||||
|
||||
cmp ebx,328 ;308 - ¬ ªá. à §¬¥à á⥯¥¨ ¤«ï double + 20 - ç¨á«® à §à冷¢ ¢ BCD
|
||||
ja .Error
|
||||
cmp [Data_Sign_Exp],0
|
||||
je @f
|
||||
neg ebx
|
||||
@@:
|
||||
cmp [Data_Flag],0 ;â®çª ¥ ¢áâà¥ç « áì?
|
||||
jne @f
|
||||
dec edx
|
||||
@@:
|
||||
add edx,ebx
|
||||
|
||||
xor eax,eax
|
||||
jmp @f
|
||||
.Error:
|
||||
xor eax,eax
|
||||
inc eax
|
||||
@@:
|
||||
ret
|
||||
endp
|
||||
|
||||
align 4
|
||||
proc str_cat uses eax ecx edi esi, str1:dword, str2:dword
|
||||
mov esi,dword[str2]
|
||||
stdcall str_len,esi
|
||||
mov ecx,eax
|
||||
@@ -306,7 +401,6 @@ proc str_cat, str1:dword, str2:dword
|
||||
add edi,eax
|
||||
cld
|
||||
repne movsb
|
||||
pop esi edi ecx eax
|
||||
ret
|
||||
endp
|
||||
|
||||
@@ -323,4 +417,34 @@ proc str_len, str1:dword
|
||||
@@:
|
||||
sub eax,[str1]
|
||||
ret
|
||||
endp
|
||||
|
||||
align 4
|
||||
proc String_crop_0 uses eax ebx ecx edi
|
||||
mov edi,Data_String
|
||||
mov al,'.'
|
||||
mov ecx,32
|
||||
repne scasb
|
||||
mov ebx,edi
|
||||
mov edi,Data_String
|
||||
xor al,al
|
||||
mov ecx,32
|
||||
repne scasb
|
||||
cmp ebx,edi
|
||||
jg .end_f
|
||||
dec edi
|
||||
.cycle0:
|
||||
dec edi
|
||||
cmp edi,Data_String
|
||||
jle .end_f
|
||||
cmp byte[edi],'0'
|
||||
jne .cycle0end
|
||||
mov byte[edi],0
|
||||
jmp .cycle0
|
||||
.cycle0end:
|
||||
cmp byte[edi],'.'
|
||||
jne .end_f
|
||||
mov byte[edi],0
|
||||
.end_f:
|
||||
ret
|
||||
endp
|
||||
@@ -105,12 +105,6 @@ align 4
|
||||
end if
|
||||
|
||||
; ***
|
||||
glVertex2d: ;(double ,double)
|
||||
glVertex2dv: ;(double *)
|
||||
glVertex3d: ;(double ,double ,double)
|
||||
glVertex3dv: ;(double *)
|
||||
glVertex4d: ;(double ,double ,double, double )
|
||||
glVertex4dv: ;(double *)
|
||||
glColor3d: ;(double ,double ,double)
|
||||
glColor3dv: ;(double *)
|
||||
glColor4d: ;(double ,double ,double, double )
|
||||
|
||||
Reference in New Issue
Block a user