Rev 8442 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 8442 | Rev 9587 | ||
---|---|---|---|
1 | use32 |
1 | use32 |
2 | org 0 |
2 | org 0 |
3 | db 'MENUET01' ;¨¤¥â¨ä. ¨á¯®«ï¥¬®£® ä ©« ¢á¥£¤ 8 ¡ ©â |
3 | db 'MENUET01' ;¨¤¥â¨ä. ¨á¯®«ï¥¬®£® ä ©« ¢á¥£¤ 8 ¡ ©â |
4 | dd 1, start, i_end, mem, stacktop, openfile_path, sys_path |
4 | dd 1, start, i_end, mem, stacktop, openfile_path, sys_path |
5 | 5 | ||
6 | include '../../../macros.inc' |
6 | include '../../../macros.inc' |
7 | include '../../../proc32.inc' |
7 | include '../../../proc32.inc' |
8 | include '../../../KOSfuncs.inc' |
8 | include '../../../KOSfuncs.inc' |
9 | include '../../../load_img.inc' |
9 | include '../../../load_img.inc' |
10 | include '../../../load_lib.mac' |
10 | include '../../../load_lib.mac' |
11 | include '../trunk/vox_draw.inc' |
11 | include '../trunk/vox_draw.inc' |
12 | include '../trunk/vox_rotate.inc' |
12 | include '../trunk/vox_rotate.inc' |
13 | include '../trunk/str.inc' |
13 | include '../trunk/str.inc' |
14 | include 'lang.inc' |
14 | include 'lang.inc' |
15 | 15 | ||
16 | @use_library mem.Alloc,mem.Free,mem.ReAlloc,dll.Load |
16 | @use_library mem.Alloc,mem.Free,mem.ReAlloc,dll.Load |
17 | if lang eq ru |
17 | if lang eq ru |
18 | caption db '¥à¥¬¥é¥¨¥ ¢®ªá¥«¥© 04.05.20',0 ;¯®¤¯¨áì ®ª |
18 | caption db '¥à¥¬¥é¥¨¥ ¢®ªá¥«¥© 04.05.20',0 ;¯®¤¯¨áì ®ª |
19 | else |
19 | else |
20 | caption db 'Voxel mover 04.05.20',0 |
20 | caption db 'Voxel mover 04.05.20',0 |
21 | end if |
21 | end if |
22 | 22 | ||
23 | IMAGE_TOOLBAR_ICON_SIZE equ 16*16*3 |
23 | IMAGE_TOOLBAR_ICON_SIZE equ 16*16*3 |
24 | image_data_toolbar dd 0 |
24 | image_data_toolbar dd 0 |
25 | 25 | ||
26 | ;§ ç¥¨ï § ¤ ¢ ¥¬ë¥ ¯® 㬮«ç ¨î, ¡¥§ ini ä ©« |
26 | ;§ ç¥¨ï § ¤ ¢ ¥¬ë¥ ¯® 㬮«ç ¨î, ¡¥§ ini ä ©« |
27 | ini_def_window_t equ 10 |
27 | ini_def_window_t equ 10 |
28 | ini_def_window_l equ 10 |
28 | ini_def_window_l equ 10 |
29 | ini_def_window_w equ 550 |
29 | ini_def_window_w equ 550 |
30 | ini_def_window_h equ 415 |
30 | ini_def_window_h equ 415 |
31 | ini_def_buf_w equ 198 ;=192+6 |
31 | ini_def_buf_w equ 198 ;=192+6 |
32 | ini_def_buf_h equ 231 ;=224+7 |
32 | ini_def_buf_h equ 231 ;=224+7 |
33 | ini_def_s_zoom equ 5 |
33 | ini_def_s_zoom equ 5 |
34 | ini_def_t_size equ 10 |
34 | ini_def_t_size equ 10 |
35 | ini_def_color_b equ 0xffffff |
35 | ini_def_color_b equ 0xffffff |
36 | ;®¯¨á ¨¥ ¯ à ¬ â஢ ¤«ï ini ä ©« |
36 | ;®¯¨á ¨¥ ¯ à ¬ â஢ ¤«ï ini ä ©« |
37 | ini_name db 'vox_mover.ini',0 |
37 | ini_name db 'vox_mover.ini',0 |
38 | ini_sec_window db 'Window',0 |
38 | ini_sec_window db 'Window',0 |
39 | key_window_t db 't',0 |
39 | key_window_t db 't',0 |
40 | key_window_l db 'l',0 |
40 | key_window_l db 'l',0 |
41 | key_window_w db 'w',0 |
41 | key_window_w db 'w',0 |
42 | key_window_h db 'h',0 |
42 | key_window_h db 'h',0 |
43 | key_buf_w db 'buf_w',0 |
43 | key_buf_w db 'buf_w',0 |
44 | key_buf_h db 'buf_h',0 |
44 | key_buf_h db 'buf_h',0 |
45 | ini_sec_options db 'Options',0 |
45 | ini_sec_options db 'Options',0 |
46 | key_s_zoom db 's_zoom',0 |
46 | key_s_zoom db 's_zoom',0 |
47 | key_t_size db 'tile_size',0 |
47 | key_t_size db 'tile_size',0 |
48 | key_f_size db 'file_size',0 |
48 | key_f_size db 'file_size',0 |
49 | key_col_b db 'c_background',0 |
49 | key_col_b db 'c_background',0 |
50 | 50 | ||
51 | OT_MAP_X equ 0 |
51 | OT_MAP_X equ 0 |
52 | OT_MAP_Y equ 0 |
52 | OT_MAP_Y equ 0 |
53 | OT_CAPT_X_COLOR equ 5 ;®âáâ㯠¤«ï ¯®¤¯¨á¨ 梥â |
53 | OT_CAPT_X_COLOR equ 5 ;®âáâ㯠¤«ï ¯®¤¯¨á¨ 梥â |
54 | OT_CAPT_Y_COLOR equ 30 |
54 | OT_CAPT_Y_COLOR equ 30 |
55 | PEN_MODE_NONE equ -1 |
55 | PEN_MODE_NONE equ -1 |
56 | PEN_MODE_CLEAR equ 0 ;०¨¬ áâ¨à ¨ï |
56 | PEN_MODE_CLEAR equ 0 ;०¨¬ áâ¨à ¨ï |
57 | PEN_MODE_SELECT_COLOR equ 2 ;०¨¬ ¢ë¡®à 梥â |
57 | PEN_MODE_SELECT_COLOR equ 2 ;०¨¬ ¢ë¡®à 梥â |
58 | 58 | ||
59 | align 4 |
59 | align 4 |
60 | start: |
60 | start: |
61 | load_libraries l_libs_start,l_libs_end |
61 | load_libraries l_libs_start,l_libs_end |
62 | ;¯à®¢¥àª ᪮«ìª® ã¤ ç® § £ã§¨« áì ¡¨¡«¨®â¥ª |
62 | ;¯à®¢¥àª ᪮«ìª® ã¤ ç® § £ã§¨« áì ¡¨¡«¨®â¥ª |
63 | mov ebp,lib0 |
63 | mov ebp,lib0 |
64 | cmp dword [ebp+ll_struc_size-4],0 |
64 | cmp dword [ebp+ll_struc_size-4],0 |
65 | jz @f |
65 | jz @f |
66 | mcall SF_TERMINATE_PROCESS |
66 | mcall SF_TERMINATE_PROCESS |
67 | @@: |
67 | @@: |
68 | mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,sizeof.system_colors |
68 | mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,sizeof.system_colors |
69 | mcall SF_SET_EVENTS_MASK,0xC0000027 |
69 | mcall SF_SET_EVENTS_MASK,0xC0000027 |
70 | stdcall [OpenDialog_Init],OpenDialog_data ;¯®¤£®â®¢ª ¤¨ «®£ |
70 | stdcall [OpenDialog_Init],OpenDialog_data ;¯®¤£®â®¢ª ¤¨ «®£ |
71 | 71 | ||
72 | ;--- load ini file --- |
72 | ;--- load ini file --- |
73 | copy_path ini_name,sys_path,file_name,0 |
73 | copy_path ini_name,sys_path,file_name,0 |
74 | ;window startup pozition |
74 | ;window startup pozition |
75 | stdcall dword[ini_get_int],file_name,ini_sec_window,key_window_l,ini_def_window_l |
75 | stdcall dword[ini_get_int],file_name,ini_sec_window,key_window_l,ini_def_window_l |
76 | mov word[wnd_s_pos+2],ax |
76 | mov word[wnd_s_pos+2],ax |
77 | stdcall dword[ini_get_int],file_name,ini_sec_window,key_window_w,ini_def_window_w |
77 | stdcall dword[ini_get_int],file_name,ini_sec_window,key_window_w,ini_def_window_w |
78 | mov word[wnd_s_pos],ax |
78 | mov word[wnd_s_pos],ax |
79 | stdcall dword[ini_get_int],file_name,ini_sec_window,key_window_t,ini_def_window_t |
79 | stdcall dword[ini_get_int],file_name,ini_sec_window,key_window_t,ini_def_window_t |
80 | mov word[wnd_s_pos+6],ax |
80 | mov word[wnd_s_pos+6],ax |
81 | stdcall dword[ini_get_int],file_name,ini_sec_window,key_window_h,ini_def_window_h |
81 | stdcall dword[ini_get_int],file_name,ini_sec_window,key_window_h,ini_def_window_h |
82 | mov word[wnd_s_pos+4],ax |
82 | mov word[wnd_s_pos+4],ax |
83 | ;image buffer size |
83 | ;image buffer size |
84 | stdcall dword[ini_get_int],file_name,ini_sec_window,key_buf_w,ini_def_buf_w |
84 | stdcall dword[ini_get_int],file_name,ini_sec_window,key_buf_w,ini_def_buf_w |
85 | mov [buf_0.w],eax |
85 | mov [buf_0.w],eax |
86 | mov [buf_0z.w],eax |
86 | mov [buf_0z.w],eax |
87 | add ax,15 |
87 | add ax,15 |
88 | mov [buf_pl.l],ax ;®âáâ㯠¤«ï ¯à ¢®£® ®ª |
88 | mov [buf_pl.l],ax ;®âáâ㯠¤«ï ¯à ¢®£® ®ª |
89 | stdcall dword[ini_get_int],file_name,ini_sec_window,key_buf_h,ini_def_buf_h |
89 | stdcall dword[ini_get_int],file_name,ini_sec_window,key_buf_h,ini_def_buf_h |
90 | mov [buf_0.h],eax |
90 | mov [buf_0.h],eax |
91 | mov [buf_0z.h],eax |
91 | mov [buf_0z.h],eax |
92 | ;梥â ä® |
92 | ;梥â ä® |
93 | stdcall dword[ini_get_color],file_name,ini_sec_window,key_col_b,ini_def_color_b |
93 | stdcall dword[ini_get_color],file_name,ini_sec_window,key_col_b,ini_def_color_b |
94 | mov [buf_0.color],eax |
94 | mov [buf_0.color],eax |
95 | mov [buf_pl.color],eax |
95 | mov [buf_pl.color],eax |
96 | 96 | ||
97 | ;¬ áâ ¡, ¯®á«¥ ª®â®à®£® ¡ã¤¥â 㢥«¨ç¥¨¥ |
97 | ;¬ áâ ¡, ¯®á«¥ ª®â®à®£® ¡ã¤¥â 㢥«¨ç¥¨¥ |
98 | stdcall dword[ini_get_int],file_name,ini_sec_options,key_s_zoom,ini_def_s_zoom |
98 | stdcall dword[ini_get_int],file_name,ini_sec_options,key_s_zoom,ini_def_s_zoom |
99 | mov [scaled_zoom],eax |
99 | mov [scaled_zoom],eax |
100 | ;à §¬¥à ª¢ ¤à ⨪ ¯«®áª®á⨠á¥ç¥¨ï |
100 | ;à §¬¥à ª¢ ¤à ⨪ ¯«®áª®á⨠á¥ç¥¨ï |
101 | stdcall dword[ini_get_int],file_name,ini_sec_options,key_t_size,ini_def_t_size |
101 | stdcall dword[ini_get_int],file_name,ini_sec_options,key_t_size,ini_def_t_size |
102 | mov [tile_size],eax |
102 | mov [tile_size],eax |
103 | 103 | ||
104 | stdcall dword[ini_get_int],file_name,ini_sec_options,key_f_size,64 |
104 | stdcall dword[ini_get_int],file_name,ini_sec_options,key_f_size,64 |
105 | shl eax,10 |
105 | shl eax,10 |
106 | mov [max_open_file_size],eax |
106 | mov [max_open_file_size],eax |
107 | 107 | ||
108 | mov ecx,[scaled_zoom] |
108 | mov ecx,[scaled_zoom] |
109 | xor eax,eax |
109 | xor eax,eax |
110 | inc eax |
110 | inc eax |
111 | shl eax,cl |
111 | shl eax,cl |
112 | imul eax,[tile_size] |
112 | imul eax,[tile_size] |
113 | mov [buf_pl.w],eax |
113 | mov [buf_pl.w],eax |
114 | add eax,[tile_size] |
114 | add eax,[tile_size] |
115 | mov [buf_pl.h],eax |
115 | mov [buf_pl.h],eax |
116 | 116 | ||
117 | 117 | ||
118 | stdcall [buf2d_create], buf_0 ;ᮧ¤ ¨¥ ¡ãä¥à ¨§®¡à ¦¥¨ï |
118 | stdcall [buf2d_create], buf_0 ;ᮧ¤ ¨¥ ¡ãä¥à ¨§®¡à ¦¥¨ï |
119 | stdcall [buf2d_create], buf_0z ;ᮧ¤ ¨¥ ¡ãä¥à £«ã¡¨ë |
119 | stdcall [buf2d_create], buf_0z ;ᮧ¤ ¨¥ ¡ãä¥à £«ã¡¨ë |
120 | stdcall [buf2d_create], buf_pl ;ᮧ¤ ¨¥ ¡ãä¥à ¤«ï á¥ç¥¨ï |
120 | stdcall [buf2d_create], buf_pl ;ᮧ¤ ¨¥ ¡ãä¥à ¤«ï á¥ç¥¨ï |
121 | 121 | ||
122 | stdcall [buf2d_vox_brush_create], buf_vox, vox_6_7_z |
122 | stdcall [buf2d_vox_brush_create], buf_vox, vox_6_7_z |
123 | 123 | ||
124 | include_image_file 'toolbar_m.png', image_data_toolbar |
124 | include_image_file 'toolbar_m.png', image_data_toolbar |
125 | 125 | ||
126 | stdcall mem.Alloc,[max_open_file_size] |
126 | stdcall mem.Alloc,[max_open_file_size] |
127 | mov dword[open_file_vox],eax |
127 | mov dword[open_file_vox],eax |
128 | stdcall mem.Alloc,[max_open_file_size] |
128 | stdcall mem.Alloc,[max_open_file_size] |
129 | mov dword[moved_file_vox],eax |
129 | mov dword[moved_file_vox],eax |
130 | 130 | ||
131 | stdcall but_new_file, [open_file_vox] |
131 | stdcall but_new_file, [open_file_vox] |
132 | stdcall but_new_file, [moved_file_vox] |
132 | stdcall but_new_file, [moved_file_vox] |
133 | ;¯à®¢¥àª ª®¬ ¤®© áâப¨ |
133 | ;¯à®¢¥àª ª®¬ ¤®© áâப¨ |
134 | cmp dword[openfile_path],0 |
134 | cmp dword[openfile_path],0 |
135 | je @f |
135 | je @f |
136 | call but_open_file_cmd_lin |
136 | call but_open_file_cmd_lin |
137 | @@: |
137 | @@: |
138 | 138 | ||
139 | align 4 |
139 | align 4 |
140 | red_win: |
140 | red_win: |
141 | call draw_window |
141 | call draw_window |
142 | 142 | ||
143 | align 4 |
143 | align 4 |
144 | still: |
144 | still: |
145 | mcall SF_WAIT_EVENT |
145 | mcall SF_WAIT_EVENT |
146 | 146 | ||
147 | cmp al,1 |
147 | cmp al,1 |
148 | jz red_win |
148 | jz red_win |
149 | cmp al,2 |
149 | cmp al,2 |
150 | jz key |
150 | jz key |
151 | cmp al,3 |
151 | cmp al,3 |
152 | jz button |
152 | jz button |
153 | cmp al,6 |
153 | cmp al,6 |
154 | jne @f |
154 | jne @f |
155 | mcall SF_THREAD_INFO,procinfo,-1 |
155 | mcall SF_THREAD_INFO,procinfo,-1 |
156 | cmp ax,word[procinfo+4] |
156 | cmp ax,word[procinfo+4] |
157 | jne @f ;®ª® ¥ ªâ¨¢® |
157 | jne @f ;®ª® ¥ ªâ¨¢® |
158 | call mouse |
158 | call mouse |
159 | @@: |
159 | @@: |
160 | jmp still |
160 | jmp still |
161 | 161 | ||
162 | align 4 |
162 | align 4 |
163 | mouse: |
163 | mouse: |
164 | pushad |
164 | pushad |
165 | mcall SF_MOUSE_GET,SSF_BUTTON |
165 | mcall SF_MOUSE_GET,SSF_BUTTON |
166 | bt eax,1 ;right button |
166 | bt eax,1 ;right button |
167 | jnc @f |
167 | jnc @f |
168 | mcall SF_MOUSE_GET,SSF_WINDOW_POSITION |
168 | mcall SF_MOUSE_GET,SSF_WINDOW_POSITION |
169 | mov ebx,eax |
169 | mov ebx,eax |
170 | shr ebx,16 |
170 | shr ebx,16 |
171 | and eax,0xffff |
171 | and eax,0xffff |
172 | stdcall get_buf_color, buf_0 |
172 | stdcall get_buf_color, buf_0 |
173 | stdcall get_buf_color, buf_pl |
173 | stdcall get_buf_color, buf_pl |
174 | jmp .end_f |
174 | jmp .end_f |
175 | @@: |
175 | @@: |
176 | bt eax,0 ;left button |
176 | bt eax,0 ;left button |
177 | jnc .end_f |
177 | jnc .end_f |
178 | mcall SF_MOUSE_GET,SSF_WINDOW_POSITION |
178 | mcall SF_MOUSE_GET,SSF_WINDOW_POSITION |
179 | mov ebx,eax |
179 | mov ebx,eax |
180 | shr ebx,16 |
180 | shr ebx,16 |
181 | and eax,0xffff |
181 | and eax,0xffff |
182 | 182 | ||
183 | push eax ebx |
183 | push eax ebx |
184 | mov edx,[v_zoom] |
184 | mov edx,[v_zoom] |
185 | cmp edx,[scaled_zoom] |
185 | cmp edx,[scaled_zoom] |
186 | jle @f |
186 | jle @f |
187 | ;०¨¬ ¬ áèâ ¡¨à®¢ ¨ï ¨§®¡à ¦¥¨ï |
187 | ;०¨¬ ¬ áèâ ¡¨à®¢ ¨ï ¨§®¡à ¦¥¨ï |
188 | sub edx,[scaled_zoom] |
188 | sub edx,[scaled_zoom] |
189 | sub ax,word[buf_0.t] |
189 | sub ax,word[buf_0.t] |
190 | sub bx,word[buf_0.l] |
190 | sub bx,word[buf_0.l] |
191 | stdcall get_mouse_ev_scale, buf_vox, ebx, eax, [scaled_zoom],edx |
191 | stdcall get_mouse_ev_scale, buf_vox, ebx, eax, [scaled_zoom],edx |
192 | cmp eax,0 |
192 | cmp eax,0 |
193 | je @f |
193 | je @f |
194 | mov ebx,eax |
194 | mov ebx,eax |
195 | and eax,0x3fffffff |
195 | and eax,0x3fffffff |
196 | rol ebx,2 |
196 | rol ebx,2 |
197 | and ebx,3 |
197 | and ebx,3 |
198 | dec ebx |
198 | dec ebx |
199 | 199 | ||
200 | shl ebx,2 |
200 | shl ebx,2 |
201 | add ebx,cam_x |
201 | add ebx,cam_x |
202 | mov dword[ebx],eax ;change [cam_x] or [cam_y] or [cam_z] |
202 | mov dword[ebx],eax ;change [cam_x] or [cam_y] or [cam_z] |
203 | call draw_objects |
203 | call draw_objects |
204 | 204 | ||
205 | pop ebx eax |
205 | pop ebx eax |
206 | jmp .end_f |
206 | jmp .end_f |
207 | @@: |
207 | @@: |
208 | pop ebx eax |
208 | pop ebx eax |
209 | 209 | ||
210 | 210 | ||
211 | ;eax - mouse coord y |
211 | ;eax - mouse coord y |
212 | ;ebx - mouse coord x |
212 | ;ebx - mouse coord x |
213 | movzx edx,word[buf_pl.t] |
213 | movzx edx,word[buf_pl.t] |
214 | add edx,OT_MAP_Y |
214 | add edx,OT_MAP_Y |
215 | cmp eax,edx |
215 | cmp eax,edx |
216 | jl .end_f |
216 | jl .end_f |
217 | sub eax,edx |
217 | sub eax,edx |
218 | xor edx,edx |
218 | xor edx,edx |
219 | mov ecx,[tile_size] ;H |
219 | mov ecx,[tile_size] ;H |
220 | div ecx |
220 | div ecx |
221 | movzx edx,word[buf_pl.l] |
221 | movzx edx,word[buf_pl.l] |
222 | add edx,OT_MAP_X |
222 | add edx,OT_MAP_X |
223 | cmp ebx,edx |
223 | cmp ebx,edx |
224 | jl .end_f |
224 | jl .end_f |
225 | call convert_y ;¯à¥®¡à §®¢ ¨¥ ª®®à¤¨ âë y |
225 | call convert_y ;¯à¥®¡à §®¢ ¨¥ ª®®à¤¨ âë y |
226 | cmp eax,0 |
226 | cmp eax,0 |
227 | jge .end_0 ;®£à ¨ç¥¨¥ ¯® ¨¦¥© ª®®à¤¨ ⥠y |
227 | jge .end_0 ;®£à ¨ç¥¨¥ ¯® ¨¦¥© ª®®à¤¨ ⥠y |
228 | cmp eax,-1 |
228 | cmp eax,-1 |
229 | jne .end_f |
229 | jne .end_f |
230 | ;¬¥ï¥¬ á¥ç¥¨¥, ¯®¯ «¨ ª¢ ¤à ⨪ |
230 | ;¬¥ï¥¬ á¥ç¥¨¥, ¯®¯ «¨ ª¢ ¤à ⨪ |
231 | sub ebx,edx |
231 | sub ebx,edx |
232 | mov eax,ebx |
232 | mov eax,ebx |
233 | xor edx,edx |
233 | xor edx,edx |
234 | mov ecx,[tile_size] ;W |
234 | mov ecx,[tile_size] ;W |
235 | div ecx |
235 | div ecx |
236 | mov [n_plane],eax |
236 | mov [n_plane],eax |
237 | jmp .end_1 |
237 | jmp .end_1 |
238 | .end_0: |
238 | .end_0: |
239 | mov [v_cur_y],eax ;Y-coord |
239 | mov [v_cur_y],eax ;Y-coord |
240 | sub ebx,edx |
240 | sub ebx,edx |
241 | mov eax,ebx |
241 | mov eax,ebx |
242 | xor edx,edx |
242 | xor edx,edx |
243 | mov ecx,[tile_size] ;W |
243 | mov ecx,[tile_size] ;W |
244 | div ecx |
244 | div ecx |
245 | mov [v_cur_x],eax ;X-coord |
245 | mov [v_cur_x],eax ;X-coord |
246 | 246 | ||
247 | .end_1: |
247 | .end_1: |
248 | call draw_objects |
248 | call draw_objects |
249 | call draw_pok |
249 | call draw_pok |
250 | .end_f: |
250 | .end_f: |
251 | popad |
251 | popad |
252 | ret |
252 | ret |
253 | 253 | ||
254 | ;input: |
254 | ;input: |
255 | ; eax - coord y |
255 | ; eax - coord y |
256 | ; ebx - coord x |
256 | ; ebx - coord x |
257 | align 4 |
257 | align 4 |
258 | proc get_buf_color, buf:dword |
258 | proc get_buf_color, buf:dword |
259 | pushad |
259 | pushad |
260 | mov edi,[buf] |
260 | mov edi,[buf] |
261 | cmp ax,buf2d_t |
261 | cmp ax,buf2d_t |
262 | jl .end_f |
262 | jl .end_f |
263 | sub ax,buf2d_t |
263 | sub ax,buf2d_t |
264 | cmp eax,buf2d_h |
264 | cmp eax,buf2d_h |
265 | jg .end_f |
265 | jg .end_f |
266 | cmp bx,buf2d_l |
266 | cmp bx,buf2d_l |
267 | jl .end_f |
267 | jl .end_f |
268 | sub bx,buf2d_l |
268 | sub bx,buf2d_l |
269 | cmp ebx,buf2d_w |
269 | cmp ebx,buf2d_w |
270 | jg .end_f |
270 | jg .end_f |
271 | stdcall [buf2d_get_pixel], edi,ebx,eax |
271 | stdcall [buf2d_get_pixel], edi,ebx,eax |
272 | mov [v_color],eax |
272 | mov [v_color],eax |
273 | call on_change_color ;®â®¡à ¦ ¥¬ ¨§¬¥¥¨ï 梥â |
273 | call on_change_color ;®â®¡à ¦ ¥¬ ¨§¬¥¥¨ï 梥â |
274 | .end_f: |
274 | .end_f: |
275 | popad |
275 | popad |
276 | ret |
276 | ret |
277 | endp |
277 | endp |
278 | 278 | ||
279 | ;¯à¥®¡à §®¢ë¢ ¥¬ ª®®à¤¨ âã y (§ 票¥ ¤®«¦® 㢥«¨ç¨¢ âìáï á ¨§ã ¢¢¥àå) |
279 | ;¯à¥®¡à §®¢ë¢ ¥¬ ª®®à¤¨ âã y (§ 票¥ ¤®«¦® 㢥«¨ç¨¢ âìáï á ¨§ã ¢¢¥àå) |
280 | align 4 |
280 | align 4 |
281 | convert_y: |
281 | convert_y: |
282 | push ecx edx |
282 | push ecx edx |
283 | mov ecx,[v_zoom] |
283 | mov ecx,[v_zoom] |
284 | cmp ecx,[scaled_zoom] |
284 | cmp ecx,[scaled_zoom] |
285 | jle @f |
285 | jle @f |
286 | mov ecx,[scaled_zoom] |
286 | mov ecx,[scaled_zoom] |
287 | @@: |
287 | @@: |
288 | mov edx,1 |
288 | mov edx,1 |
289 | cmp ecx,1 |
289 | cmp ecx,1 |
290 | jl @f |
290 | jl @f |
291 | shl edx,cl |
291 | shl edx,cl |
292 | @@: |
292 | @@: |
293 | sub edx,eax |
293 | sub edx,eax |
294 | dec edx |
294 | dec edx |
295 | mov eax,edx |
295 | mov eax,edx |
296 | pop edx ecx |
296 | pop edx ecx |
297 | ret |
297 | ret |
298 | 298 | ||
299 | align 4 |
299 | align 4 |
300 | draw_window: |
300 | draw_window: |
301 | pushad |
301 | pushad |
302 | mcall SF_REDRAW,SSF_BEGIN_DRAW |
302 | mcall SF_REDRAW,SSF_BEGIN_DRAW |
303 | 303 | ||
304 | ; *** à¨á®¢ ¨¥ £« ¢®£® ®ª (¢ë¯®«ï¥âáï 1 à § ¯à¨ § ¯ã᪥) *** |
304 | ; *** à¨á®¢ ¨¥ £« ¢®£® ®ª (¢ë¯®«ï¥âáï 1 à § ¯à¨ § ¯ã᪥) *** |
305 | mov edx,[sc.work] |
305 | mov edx,[sc.work] |
306 | or edx,(3 shl 24)+0x30000000 |
306 | or edx,(3 shl 24)+0x30000000 |
307 | mcall SF_CREATE_WINDOW,dword[wnd_s_pos],dword[wnd_s_pos+4],,,caption |
307 | mcall SF_CREATE_WINDOW,dword[wnd_s_pos],dword[wnd_s_pos+4],,,caption |
308 | 308 | ||
309 | ; *** ᮧ¤ ¨¥ ª®¯®ª ¯ ¥«ì *** |
309 | ; *** ᮧ¤ ¨¥ ª®¯®ª ¯ ¥«ì *** |
310 | mov esi,[sc.work_button] |
310 | mov esi,[sc.work_button] |
311 | mcall SF_DEFINE_BUTTON,(5 shl 16)+20,(5 shl 16)+20,3 |
311 | mcall SF_DEFINE_BUTTON,(5 shl 16)+20,(5 shl 16)+20,3 |
312 | 312 | ||
313 | mov ebx,(30 shl 16)+20 |
313 | mov ebx,(30 shl 16)+20 |
314 | mov edx,4 |
314 | mov edx,4 |
315 | int 0x40 |
315 | int 0x40 |
316 | add ebx,25 shl 16 |
316 | add ebx,25 shl 16 |
317 | mov edx,5 |
317 | mov edx,5 |
318 | int 0x40 |
318 | int 0x40 |
319 | add ebx,30 shl 16 |
319 | add ebx,30 shl 16 |
320 | mov edx,6 |
320 | mov edx,6 |
321 | int 0x40 |
321 | int 0x40 |
322 | add ebx,25 shl 16 |
322 | add ebx,25 shl 16 |
323 | mov edx,7 |
323 | mov edx,7 |
324 | int 0x40 |
324 | int 0x40 |
325 | add ebx,25 shl 16 |
325 | add ebx,25 shl 16 |
326 | mov edx,8 |
326 | mov edx,8 |
327 | int 0x40 |
327 | int 0x40 |
328 | add ebx,25 shl 16 |
328 | add ebx,25 shl 16 |
329 | mov edx,9 |
329 | mov edx,9 |
330 | int 0x40 |
330 | int 0x40 |
331 | add ebx,25 shl 16 |
331 | add ebx,25 shl 16 |
332 | mov edx,10 |
332 | mov edx,10 |
333 | int 0x40 |
333 | int 0x40 |
334 | add ebx,25 shl 16 |
334 | add ebx,25 shl 16 |
335 | mov edx,11 |
335 | mov edx,11 |
336 | int 0x40 |
336 | int 0x40 |
337 | add ebx,25 shl 16 |
337 | add ebx,25 shl 16 |
338 | mov edx,12 |
338 | mov edx,12 |
339 | int 0x40 |
339 | int 0x40 |
340 | add ebx,25 shl 16 |
340 | add ebx,25 shl 16 |
341 | mov edx,13 |
341 | mov edx,13 |
342 | int 0x40 |
342 | int 0x40 |
343 | add ebx,25 shl 16 |
343 | add ebx,25 shl 16 |
344 | mov edx,14 |
344 | mov edx,14 |
345 | int 0x40 |
345 | int 0x40 |
346 | add ebx,25 shl 16 |
346 | add ebx,25 shl 16 |
347 | mov edx,15 |
347 | mov edx,15 |
348 | int 0x40 |
348 | int 0x40 |
349 | add ebx,25 shl 16 |
349 | add ebx,25 shl 16 |
350 | mov edx,16 |
350 | mov edx,16 |
351 | int 0x40 |
351 | int 0x40 |
352 | add ebx,25 shl 16 |
352 | add ebx,25 shl 16 |
353 | mov edx,17 |
353 | mov edx,17 |
354 | int 0x40 |
354 | int 0x40 |
355 | add ebx,25 shl 16 |
355 | add ebx,25 shl 16 |
356 | mov edx,18 |
356 | mov edx,18 |
357 | int 0x40 |
357 | int 0x40 |
358 | add ebx,25 shl 16 |
358 | add ebx,25 shl 16 |
359 | mov edx,19 |
359 | mov edx,19 |
360 | int 0x40 |
360 | int 0x40 |
361 | add ebx,25 shl 16 |
361 | add ebx,25 shl 16 |
362 | mov edx,20 |
362 | mov edx,20 |
363 | int 0x40 |
363 | int 0x40 |
364 | 364 | ||
365 | ; *** à¨á®¢ ¨¥ ¨ª®®ª ª®¯ª å *** |
365 | ; *** à¨á®¢ ¨¥ ¨ª®®ª ª®¯ª å *** |
366 | mov edx,(7 shl 16)+7 ;icon new |
366 | mov edx,(7 shl 16)+7 ;icon new |
367 | mcall SF_PUT_IMAGE,[image_data_toolbar],(16 shl 16)+16 |
367 | mcall SF_PUT_IMAGE,[image_data_toolbar],(16 shl 16)+16 |
368 | 368 | ||
369 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
369 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
370 | add edx,(25 shl 16) ;icon open |
370 | add edx,(25 shl 16) ;icon open |
371 | int 0x40 |
371 | int 0x40 |
372 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
372 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
373 | add edx,(25 shl 16) ;icon save |
373 | add edx,(25 shl 16) ;icon save |
374 | int 0x40 |
374 | int 0x40 |
375 | 375 | ||
376 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
376 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
377 | add edx,(30 shl 16) ;㢥«¨ç. ¬ áèâ ¡ |
377 | add edx,(30 shl 16) ;㢥«¨ç. ¬ áèâ ¡ |
378 | int 0x40 |
378 | int 0x40 |
379 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
379 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
380 | add edx,(25 shl 16) ;㬥ìè. ¬ áèâ ¡ |
380 | add edx,(25 shl 16) ;㬥ìè. ¬ áèâ ¡ |
381 | int 0x40 |
381 | int 0x40 |
382 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
382 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
383 | add edx,(25 shl 16) ;¯®¢®à®â 1 |
383 | add edx,(25 shl 16) ;¯®¢®à®â 1 |
384 | int 0x40 |
384 | int 0x40 |
385 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
385 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
386 | add edx,(25 shl 16) ;¯®¢®à®â 2 |
386 | add edx,(25 shl 16) ;¯®¢®à®â 2 |
387 | int 0x40 |
387 | int 0x40 |
388 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
388 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
389 | add edx,(25 shl 16) ;ᤢ¨£ ¯«®áª®á⨠+ |
389 | add edx,(25 shl 16) ;ᤢ¨£ ¯«®áª®á⨠+ |
390 | int 0x40 |
390 | int 0x40 |
391 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
391 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
392 | add edx,(25 shl 16) ;ᤢ¨£ ¯«®áª®á⨠- |
392 | add edx,(25 shl 16) ;ᤢ¨£ ¯«®áª®á⨠- |
393 | int 0x40 |
393 | int 0x40 |
394 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
394 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
395 | add edx,(25 shl 16) ;®á¢¥é¥¨¥ |
395 | add edx,(25 shl 16) ;®á¢¥é¥¨¥ |
396 | int 0x40 |
396 | int 0x40 |
397 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
397 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
398 | add edx,(25 shl 16) ;।¥à 2*2 |
398 | add edx,(25 shl 16) ;।¥à 2*2 |
399 | int 0x40 |
399 | int 0x40 |
400 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
400 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
401 | add edx,(25 shl 16) ; |
401 | add edx,(25 shl 16) ; |
402 | int 0x40 |
402 | int 0x40 |
403 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
403 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
404 | add edx,(25 shl 16) ; |
404 | add edx,(25 shl 16) ; |
405 | int 0x40 |
405 | int 0x40 |
406 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
406 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
407 | add edx,(25 shl 16) ; |
407 | add edx,(25 shl 16) ; |
408 | int 0x40 |
408 | int 0x40 |
409 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
409 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
410 | add edx,(25 shl 16) ; |
410 | add edx,(25 shl 16) ; |
411 | int 0x40 |
411 | int 0x40 |
412 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
412 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
413 | add edx,(25 shl 16) ; |
413 | add edx,(25 shl 16) ; |
414 | int 0x40 |
414 | int 0x40 |
415 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
415 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
416 | add edx,(25 shl 16) ; |
416 | add edx,(25 shl 16) ; |
417 | int 0x40 |
417 | int 0x40 |
418 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
418 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
419 | add edx,(25 shl 16) ; |
419 | add edx,(25 shl 16) ; |
420 | int 0x40 |
420 | int 0x40 |
421 | 421 | ||
422 | ; *** à¨á®¢ ¨¥ ¡ãä¥à®¢ *** |
422 | ; *** à¨á®¢ ¨¥ ¡ãä¥à®¢ *** |
423 | call draw_objects |
423 | call draw_objects |
424 | call draw_pok |
424 | call draw_pok |
425 | 425 | ||
426 | mcall SF_REDRAW,SSF_END_DRAW |
426 | mcall SF_REDRAW,SSF_END_DRAW |
427 | popad |
427 | popad |
428 | ret |
428 | ret |
429 | 429 | ||
430 | align 4 |
430 | align 4 |
431 | draw_pok: |
431 | draw_pok: |
432 | mov esi,[sc.work_button_text] |
432 | mov esi,[sc.work_button_text] |
433 | or esi,(1 shl 30) |
433 | or esi,(1 shl 30) |
434 | mov edi,[sc.work_button] |
434 | mov edi,[sc.work_button] |
435 | mcall SF_DRAW_NUMBER, (3 shl 16)+(1 shl 31), [v_zoom], ((350+6*9) shl 16)+OT_CAPT_Y_COLOR+2 ;¬ áèâ ¡ |
435 | mcall SF_DRAW_NUMBER, (3 shl 16)+(1 shl 31), [v_zoom], ((350+6*9) shl 16)+OT_CAPT_Y_COLOR+2 ;¬ áèâ ¡ |
436 | mov ecx,[n_plane] |
436 | mov ecx,[n_plane] |
437 | add edx,115 shl 16 ;9 |
437 | add edx,115 shl 16 ;9 |
438 | int 0x40 ;®¬¥à á¥ç¥¨ï |
438 | int 0x40 ;®¬¥à á¥ç¥¨ï |
439 | 439 | ||
440 | ;®¡®¢«¥¨¥ ¯ à ¬¥â஢ ªãàá®à |
440 | ;®¡®¢«¥¨¥ ¯ à ¬¥â஢ ªãàá®à |
441 | mov dword[txt_curor.size],0 |
441 | mov dword[txt_curor.size],0 |
442 | mov eax,dword[v_cur_x] |
442 | mov eax,dword[v_cur_x] |
443 | mov edi,txt_curor.size |
443 | mov edi,txt_curor.size |
444 | stdcall convert_int_to_str,10 |
444 | stdcall convert_int_to_str,10 |
445 | stdcall str_cat, edi,txt_mull |
445 | stdcall str_cat, edi,txt_mull |
446 | mov eax,dword[v_cur_y] |
446 | mov eax,dword[v_cur_y] |
447 | mov edi,txt_buf |
447 | mov edi,txt_buf |
448 | stdcall convert_int_to_str,16 |
448 | stdcall convert_int_to_str,16 |
449 | stdcall str_cat, txt_curor.size,edi |
449 | stdcall str_cat, txt_curor.size,edi |
450 | stdcall str_cat, txt_curor.size,txt_space ;§ ¢¥àè î騩 ¯à®¡¥« |
450 | stdcall str_cat, txt_curor.size,txt_space ;§ ¢¥àè î騩 ¯à®¡¥« |
451 | 451 | ||
452 | ;®¡®¢«¥¨¥ ¯ à ¬¥â஢ ª¨á⨠|
452 | ;®¡®¢«¥¨¥ ¯ à ¬¥â஢ ª¨á⨠|
453 | mov dword[txt_mov_offs.size],0 |
453 | mov dword[txt_mov_offs.size],0 |
454 | mov eax,dword[mov_x] |
454 | mov eax,dword[mov_x] |
455 | mov edi,txt_mov_offs.size |
455 | mov edi,txt_mov_offs.size |
456 | stdcall convert_int_to_str,30 |
456 | stdcall convert_int_to_str,30 |
457 | stdcall str_cat, edi,txt_space |
457 | stdcall str_cat, edi,txt_space |
458 | mov eax,dword[mov_y] |
458 | mov eax,dword[mov_y] |
459 | mov edi,txt_buf |
459 | mov edi,txt_buf |
460 | stdcall convert_int_to_str,16 |
460 | stdcall convert_int_to_str,16 |
461 | stdcall str_cat, txt_mov_offs.size,edi |
461 | stdcall str_cat, txt_mov_offs.size,edi |
462 | stdcall str_cat, txt_mov_offs.size,txt_space |
462 | stdcall str_cat, txt_mov_offs.size,txt_space |
463 | mov eax,dword[mov_z] |
463 | mov eax,dword[mov_z] |
464 | mov edi,txt_buf |
464 | mov edi,txt_buf |
465 | stdcall convert_int_to_str,16 |
465 | stdcall convert_int_to_str,16 |
466 | stdcall str_cat, txt_mov_offs.size,edi |
466 | stdcall str_cat, txt_mov_offs.size,edi |
467 | stdcall str_cat, txt_mov_offs.size,txt_space ;§ ¢¥àè î騩 ¯à®¡¥« |
467 | stdcall str_cat, txt_mov_offs.size,txt_space ;§ ¢¥àè î騩 ¯à®¡¥« |
468 | 468 | ||
469 | ;à¨á®¢ ¨¥ ⥪áâ |
469 | ;à¨á®¢ ¨¥ ⥪áâ |
470 | mov ecx,[sc.work_text] |
470 | mov ecx,[sc.work_text] |
471 | or ecx,0x80000000 ;or (1 shl 30) |
471 | or ecx,0x80000000 ;or (1 shl 30) |
472 | mcall SF_DRAW_TEXT, (OT_CAPT_X_COLOR shl 16)+OT_CAPT_Y_COLOR+2,,txt_color |
472 | mcall SF_DRAW_TEXT, (OT_CAPT_X_COLOR shl 16)+OT_CAPT_Y_COLOR+2,,txt_color |
473 | 473 | ||
474 | mov edx,txt_curor |
474 | mov edx,txt_curor |
475 | add ebx,115 shl 16 |
475 | add ebx,115 shl 16 |
476 | or ecx,(1 shl 30) |
476 | or ecx,(1 shl 30) |
477 | mov edi,[sc.work] |
477 | mov edi,[sc.work] |
478 | int 0x40 |
478 | int 0x40 |
479 | 479 | ||
480 | mov edx,txt_mov_offs |
480 | mov edx,txt_mov_offs |
481 | add ebx,115 shl 16 |
481 | add ebx,115 shl 16 |
482 | int 0x40 |
482 | int 0x40 |
483 | 483 | ||
484 | mov edx,txt_zoom |
484 | mov edx,txt_zoom |
485 | add ebx,115 shl 16 |
485 | add ebx,115 shl 16 |
486 | int 0x40 |
486 | int 0x40 |
487 | 487 | ||
488 | mov edx,txt_n_plane |
488 | mov edx,txt_n_plane |
489 | add ebx,115 shl 16 |
489 | add ebx,115 shl 16 |
490 | int 0x40 |
490 | int 0x40 |
491 | 491 | ||
492 | call on_change_color |
492 | call on_change_color |
493 | ret |
493 | ret |
494 | 494 | ||
495 | align 4 |
495 | align 4 |
496 | on_change_color: |
496 | on_change_color: |
497 | pushad |
497 | pushad |
498 | mov ebx,((OT_CAPT_X_COLOR+35) shl 16)+16 ;¯® ®á¨ x |
498 | mov ebx,((OT_CAPT_X_COLOR+35) shl 16)+16 ;¯® ®á¨ x |
499 | mov ecx,(OT_CAPT_Y_COLOR shl 16)+12 ;¯® ®á¨ y |
499 | mov ecx,(OT_CAPT_Y_COLOR shl 16)+12 ;¯® ®á¨ y |
500 | mcall SF_DRAW_RECT,,,[v_color] |
500 | mcall SF_DRAW_RECT,,,[v_color] |
501 | 501 | ||
502 | mov ecx,edx |
502 | mov ecx,edx |
503 | mov edx,((OT_CAPT_X_COLOR+55) shl 16)+OT_CAPT_Y_COLOR+2 |
503 | mov edx,((OT_CAPT_X_COLOR+55) shl 16)+OT_CAPT_Y_COLOR+2 |
504 | mov esi,[sc.work_text] |
504 | mov esi,[sc.work_text] |
505 | add esi,(1 shl 30) |
505 | add esi,(1 shl 30) |
506 | mov edi,[sc.work] |
506 | mov edi,[sc.work] |
507 | mcall SF_DRAW_NUMBER,(1 shl 8)+(6 shl 16) |
507 | mcall SF_DRAW_NUMBER,(1 shl 8)+(6 shl 16) |
508 | popad |
508 | popad |
509 | ret |
509 | ret |
510 | 510 | ||
511 | align 4 |
511 | align 4 |
512 | key: |
512 | key: |
513 | mcall SF_GET_KEY |
513 | mcall SF_GET_KEY |
514 | jmp still |
514 | jmp still |
515 | 515 | ||
516 | 516 | ||
517 | align 4 |
517 | align 4 |
518 | button: |
518 | button: |
519 | mcall SF_GET_BUTTON |
519 | mcall SF_GET_BUTTON |
520 | cmp ah,3 |
520 | cmp ah,3 |
521 | jne @f |
521 | jne @f |
522 | stdcall but_new_file, [open_file_vox] |
522 | stdcall but_new_file, [open_file_vox] |
523 | call draw_objects |
523 | call draw_objects |
524 | call draw_pok |
524 | call draw_pok |
525 | jmp still |
525 | jmp still |
526 | @@: |
526 | @@: |
527 | cmp ah,4 |
527 | cmp ah,4 |
528 | jne @f |
528 | jne @f |
529 | call but_open_file |
529 | call but_open_file |
530 | jmp still |
530 | jmp still |
531 | @@: |
531 | @@: |
532 | cmp ah,5 |
532 | cmp ah,5 |
533 | jne @f |
533 | jne @f |
534 | call but_save_file |
534 | call but_save_file |
535 | jmp still |
535 | jmp still |
536 | @@: |
536 | @@: |
537 | cmp ah,6 |
537 | cmp ah,6 |
538 | jne @f |
538 | jne @f |
539 | call but_zoom_p |
539 | call but_zoom_p |
540 | jmp still |
540 | jmp still |
541 | @@: |
541 | @@: |
542 | cmp ah,7 |
542 | cmp ah,7 |
543 | jne @f |
543 | jne @f |
544 | call but_zoom_m |
544 | call but_zoom_m |
545 | jmp still |
545 | jmp still |
546 | @@: |
546 | @@: |
547 | cmp ah,8 |
547 | cmp ah,8 |
548 | jne @f |
548 | jne @f |
549 | call but_3 |
549 | call but_3 |
550 | jmp still |
550 | jmp still |
551 | @@: |
551 | @@: |
552 | cmp ah,9 |
552 | cmp ah,9 |
553 | jne @f |
553 | jne @f |
554 | call but_4 |
554 | call but_4 |
555 | jmp still |
555 | jmp still |
556 | @@: |
556 | @@: |
557 | cmp ah,10 |
557 | cmp ah,10 |
558 | jne @f |
558 | jne @f |
559 | call but_plane_inc |
559 | call but_plane_inc |
560 | jmp still |
560 | jmp still |
561 | @@: |
561 | @@: |
562 | cmp ah,11 |
562 | cmp ah,11 |
563 | jne @f |
563 | jne @f |
564 | call but_plane_dec |
564 | call but_plane_dec |
565 | jmp still |
565 | jmp still |
566 | @@: |
566 | @@: |
567 | cmp ah,12 |
567 | cmp ah,12 |
568 | jne @f |
568 | jne @f |
569 | call but_light |
569 | call but_light |
570 | jmp still |
570 | jmp still |
571 | @@: |
571 | @@: |
572 | cmp ah,13 |
572 | cmp ah,13 |
573 | jne @f |
573 | jne @f |
574 | call but_rend_2_2 |
574 | call but_rend_2_2 |
575 | jmp still |
575 | jmp still |
576 | @@: |
576 | @@: |
577 | cmp ah,14 |
577 | cmp ah,14 |
578 | jne @f |
578 | jne @f |
579 | call but_move |
579 | call but_move |
580 | jmp still |
580 | jmp still |
581 | @@: |
581 | @@: |
582 | cmp ah,15 |
582 | cmp ah,15 |
583 | jne @f |
583 | jne @f |
584 | dec dword[mov_x] |
584 | dec dword[mov_x] |
585 | call draw_pok |
585 | call draw_pok |
586 | jmp still |
586 | jmp still |
587 | @@: |
587 | @@: |
588 | cmp ah,16 |
588 | cmp ah,16 |
589 | jne @f |
589 | jne @f |
590 | inc dword[mov_x] |
590 | inc dword[mov_x] |
591 | call draw_pok |
591 | call draw_pok |
592 | jmp still |
592 | jmp still |
593 | @@: |
593 | @@: |
594 | cmp ah,17 |
594 | cmp ah,17 |
595 | jne @f |
595 | jne @f |
596 | dec dword[mov_y] |
596 | dec dword[mov_y] |
597 | call draw_pok |
597 | call draw_pok |
598 | jmp still |
598 | jmp still |
599 | @@: |
599 | @@: |
600 | cmp ah,18 |
600 | cmp ah,18 |
601 | jne @f |
601 | jne @f |
602 | inc dword[mov_y] |
602 | inc dword[mov_y] |
603 | call draw_pok |
603 | call draw_pok |
604 | jmp still |
604 | jmp still |
605 | @@: |
605 | @@: |
606 | cmp ah,19 |
606 | cmp ah,19 |
607 | jne @f |
607 | jne @f |
608 | dec dword[mov_z] |
608 | dec dword[mov_z] |
609 | call draw_pok |
609 | call draw_pok |
610 | jmp still |
610 | jmp still |
611 | @@: |
611 | @@: |
612 | cmp ah,20 |
612 | cmp ah,20 |
613 | jne @f |
613 | jne @f |
614 | inc dword[mov_z] |
614 | inc dword[mov_z] |
615 | call draw_pok |
615 | call draw_pok |
616 | jmp still |
616 | jmp still |
617 | @@: |
617 | @@: |
618 | cmp ah,1 |
618 | cmp ah,1 |
619 | jne still |
619 | jne still |
620 | .exit: |
620 | .exit: |
621 | stdcall [buf2d_delete],buf_0 |
621 | stdcall [buf2d_delete],buf_0 |
622 | stdcall [buf2d_delete],buf_0z |
622 | stdcall [buf2d_delete],buf_0z |
623 | cmp dword[buf_r_img],0 |
623 | cmp dword[buf_r_img],0 |
624 | je @f |
624 | je @f |
625 | stdcall [buf2d_delete],buf_r_img |
625 | stdcall [buf2d_delete],buf_r_img |
626 | stdcall [buf2d_delete],buf_r_z |
626 | stdcall [buf2d_delete],buf_r_z |
627 | @@: |
627 | @@: |
628 | stdcall [buf2d_vox_brush_delete], buf_vox |
628 | stdcall [buf2d_vox_brush_delete], buf_vox |
629 | stdcall mem.Free,[image_data_toolbar] |
629 | stdcall mem.Free,[image_data_toolbar] |
630 | stdcall mem.Free,[open_file_vox] |
630 | stdcall mem.Free,[open_file_vox] |
631 | stdcall mem.Free,[moved_file_vox] |
631 | stdcall mem.Free,[moved_file_vox] |
632 | mcall SF_TERMINATE_PROCESS |
632 | mcall SF_TERMINATE_PROCESS |
633 | 633 | ||
634 | ;¤ ë¥ ¤«ï ¨¨æ¨ «¨§ 樨 ¢®ªá¥«ì®£® ®¡ê¥ªâ |
634 | ;¤ ë¥ ¤«ï ¨¨æ¨ «¨§ 樨 ¢®ªá¥«ì®£® ®¡ê¥ªâ |
635 | align 4 |
635 | align 4 |
636 | vox_new_data: |
636 | vox_new_data: |
637 | db 2,0,0,0 |
637 | db 2,0,0,0 |
638 | db 0,1,2,3, 4,5,6,7 ;default table |
638 | db 0,1,2,3, 4,5,6,7 ;default table |
639 | dd 0 ;null node |
639 | dd 0 ;null node |
640 | 640 | ||
641 | ;¨¨æ¨ «¨§ æ¨ï ¢®ªá¥«ì®£® ®¡ê¥ªâ |
641 | ;¨¨æ¨ «¨§ æ¨ï ¢®ªá¥«ì®£® ®¡ê¥ªâ |
642 | align 4 |
642 | align 4 |
643 | proc but_new_file uses ecx edi esi, file_data:dword |
643 | proc but_new_file uses ecx edi esi, file_data:dword |
644 | mov ecx,vox_offs_data+4 |
644 | mov ecx,vox_offs_data+4 |
645 | mov esi,vox_new_data |
645 | mov esi,vox_new_data |
646 | mov edi,[file_data] |
646 | mov edi,[file_data] |
647 | cld |
647 | cld |
648 | rep movsb |
648 | rep movsb |
649 | ret |
649 | ret |
650 | endp |
650 | endp |
651 | 651 | ||
652 | align 4 |
652 | align 4 |
653 | open_file_vox dd 0 ;㪠§ â¥«ì ®¡« áâì ¤«ï ®âªàëâ¨ï ä ©«®¢ |
653 | open_file_vox dd 0 ;㪠§ â¥«ì ®¡« áâì ¤«ï ®âªàëâ¨ï ä ©«®¢ |
654 | moved_file_vox dd 0 |
654 | moved_file_vox dd 0 |
655 | 655 | ||
656 | align 4 |
656 | align 4 |
657 | but_open_file: |
657 | but_open_file: |
658 | copy_path open_dialog_name,communication_area_default_path,file_name,0 |
658 | copy_path open_dialog_name,communication_area_default_path,file_name,0 |
659 | pushad |
659 | pushad |
660 | mov [OpenDialog_data.type],0 |
660 | mov [OpenDialog_data.type],0 |
661 | stdcall [OpenDialog_Start],OpenDialog_data |
661 | stdcall [OpenDialog_Start],OpenDialog_data |
662 | cmp [OpenDialog_data.status],2 |
662 | cmp [OpenDialog_data.status],2 |
663 | je @f |
663 | je @f |
664 | ;ª®¤ ¯à¨ 㤠箬 ®âªàë⨨ ¤¨ «®£ |
664 | ;ª®¤ ¯à¨ 㤠箬 ®âªàë⨨ ¤¨ «®£ |
665 | call but_open_file_cmd_lin |
665 | call but_open_file_cmd_lin |
666 | @@: |
666 | @@: |
667 | popad |
667 | popad |
668 | ret |
668 | ret |
669 | 669 | ||
670 | align 4 |
670 | align 4 |
671 | but_open_file_cmd_lin: |
671 | but_open_file_cmd_lin: |
672 | pushad |
672 | pushad |
673 | mov [run_file_70.Function], SSF_READ_FILE |
673 | mov [run_file_70.Function], SSF_READ_FILE |
674 | mov [run_file_70.Position], 0 |
674 | mov [run_file_70.Position], 0 |
675 | mov [run_file_70.Flags], 0 |
675 | mov [run_file_70.Flags], 0 |
676 | m2m dword[run_file_70.Count], dword[max_open_file_size] |
676 | m2m dword[run_file_70.Count], dword[max_open_file_size] |
677 | m2m [run_file_70.Buffer], [open_file_vox] |
677 | m2m [run_file_70.Buffer], [open_file_vox] |
678 | mov byte[run_file_70+20], 0 |
678 | mov byte[run_file_70+20], 0 |
679 | mov dword[run_file_70.FileName], openfile_path |
679 | mov dword[run_file_70.FileName], openfile_path |
680 | mcall SF_FILE,run_file_70 |
680 | mcall SF_FILE,run_file_70 |
681 | cmp ebx,0xffffffff |
681 | cmp ebx,0xffffffff |
682 | je .end_open_file |
682 | je .end_open_file |
683 | 683 | ||
684 | mcall SF_SET_CAPTION,1,openfile_path |
684 | mcall SF_SET_CAPTION,1,openfile_path |
685 | 685 | ||
686 | ;--- |
686 | ;--- |
687 | mov eax,[open_file_vox] |
687 | mov eax,[open_file_vox] |
688 | movzx eax,byte[eax] |
688 | movzx eax,byte[eax] |
689 | and eax,0xff ;¡¥à¥¬ ¬ áèâ ¡ ¯® 㬮«ç ¨î |
689 | and eax,0xff ;¡¥à¥¬ ¬ áèâ ¡ ¯® 㬮«ç ¨î |
690 | mov dword[v_zoom],eax ;¡¥à¥¬ ¬ áèâ ¡ ¯® 㬮«ç ¨î |
690 | mov dword[v_zoom],eax ;¡¥à¥¬ ¬ áèâ ¡ ¯® 㬮«ç ¨î |
691 | mov dword[cam_x],0 |
691 | mov dword[cam_x],0 |
692 | mov dword[cam_y],0 |
692 | mov dword[cam_y],0 |
693 | mov dword[cam_z],0 |
693 | mov dword[cam_z],0 |
694 | call draw_objects |
694 | call draw_objects |
695 | .end_open_file: |
695 | .end_open_file: |
696 | popad |
696 | popad |
697 | ret |
697 | ret |
698 | 698 | ||
699 | align 4 |
699 | align 4 |
700 | but_save_file: |
700 | but_save_file: |
701 | copy_path open_dialog_name,communication_area_default_path,file_name,0 |
701 | copy_path open_dialog_name,communication_area_default_path,file_name,0 |
702 | pushad |
702 | pushad |
703 | mov [OpenDialog_data.type],1 |
703 | mov [OpenDialog_data.type],1 |
704 | stdcall [OpenDialog_Start],OpenDialog_data |
704 | stdcall [OpenDialog_Start],OpenDialog_data |
705 | cmp [OpenDialog_data.status],2 |
705 | cmp [OpenDialog_data.status],2 |
706 | je .end_save_file |
706 | je .end_save_file |
707 | ;ª®¤ ¯à¨ 㤠箬 ®âªàë⨨ ¤¨ «®£ |
707 | ;ª®¤ ¯à¨ 㤠箬 ®âªàë⨨ ¤¨ «®£ |
708 | 708 | ||
709 | mov eax,dword[v_zoom] ;§ ¤ ¥¬ ¬ áèâ ¡ ¯® 㬮«ç ¨î |
709 | mov eax,dword[v_zoom] ;§ ¤ ¥¬ ¬ áèâ ¡ ¯® 㬮«ç ¨î |
710 | mov ebx,[moved_file_vox] |
710 | mov ebx,[moved_file_vox] |
711 | mov byte[ebx],al |
711 | mov byte[ebx],al |
712 | 712 | ||
713 | stdcall buf2d_vox_obj_get_size, ebx |
713 | stdcall buf2d_vox_obj_get_size, ebx |
714 | mov dword[run_file_70.Count], eax ;à §¬¥à ä ©« |
714 | mov dword[run_file_70.Count], eax ;à §¬¥à ä ©« |
715 | mov [run_file_70.Function], SSF_CREATE_FILE |
715 | mov [run_file_70.Function], SSF_CREATE_FILE |
716 | mov [run_file_70.Position], 0 |
716 | mov [run_file_70.Position], 0 |
717 | mov [run_file_70.Flags], 0 |
717 | mov [run_file_70.Flags], 0 |
718 | mov ebx, dword[moved_file_vox] |
718 | mov ebx, dword[moved_file_vox] |
719 | mov [run_file_70.Buffer], ebx |
719 | mov [run_file_70.Buffer], ebx |
720 | mov byte[run_file_70+20], 0 |
720 | mov byte[run_file_70+20], 0 |
721 | mov dword[run_file_70.FileName], openfile_path |
721 | mov dword[run_file_70.FileName], openfile_path |
722 | mcall SF_FILE,run_file_70 |
722 | mcall SF_FILE,run_file_70 |
723 | cmp ebx,0xffffffff |
723 | cmp ebx,0xffffffff |
724 | je .end_save_file |
724 | je .end_save_file |
725 | 725 | ||
726 | .end_save_file: |
726 | .end_save_file: |
727 | popad |
727 | popad |
728 | ret |
728 | ret |
729 | 729 | ||
730 | ;㢥«¨ç¥¨¥ ¬ áèâ ¡ |
730 | ;㢥«¨ç¥¨¥ ¬ áèâ ¡ |
731 | align 4 |
731 | align 4 |
732 | but_zoom_p: |
732 | but_zoom_p: |
733 | cmp dword[v_zoom],10 ;¬ ªá¨¬ «ìë© à §¬¥à, ¤® ª®â®à®£® ¬®¦® 㢥«¨ç¨âì 2^10=1024 |
733 | cmp dword[v_zoom],10 ;¬ ªá¨¬ «ìë© à §¬¥à, ¤® ª®â®à®£® ¬®¦® 㢥«¨ç¨âì 2^10=1024 |
734 | jge @f |
734 | jge @f |
735 | inc dword[v_zoom] |
735 | inc dword[v_zoom] |
736 | shl dword[n_plane],1 |
736 | shl dword[n_plane],1 |
737 | push eax |
737 | push eax |
738 | mov eax,[v_zoom] |
738 | mov eax,[v_zoom] |
739 | cmp eax,[scaled_zoom] |
739 | cmp eax,[scaled_zoom] |
740 | jl .end_0 |
740 | jl .end_0 |
741 | push ecx |
741 | push ecx |
742 | mov ecx,[scaled_zoom] |
742 | mov ecx,[scaled_zoom] |
743 | xor eax,eax |
743 | xor eax,eax |
744 | inc eax |
744 | inc eax |
745 | shl eax,cl |
745 | shl eax,cl |
746 | shl dword[cam_x],1 |
746 | shl dword[cam_x],1 |
747 | shl dword[cam_y],1 |
747 | shl dword[cam_y],1 |
748 | shl dword[cam_z],1 |
748 | shl dword[cam_z],1 |
749 | cmp eax,[n_plane] |
749 | cmp eax,[n_plane] |
750 | jg .end_1 |
750 | jg .end_1 |
751 | ;ª®à¥ªâ¨à®¢ª ¯®«§ãª |
751 | ;ª®à¥ªâ¨à®¢ª ¯®«§ãª |
752 | sub [n_plane],eax |
752 | sub [n_plane],eax |
753 | inc dword[cam_y] |
753 | inc dword[cam_y] |
754 | .end_1: |
754 | .end_1: |
755 | pop ecx |
755 | pop ecx |
756 | .end_0: |
756 | .end_0: |
757 | pop eax |
757 | pop eax |
758 | call draw_objects |
758 | call draw_objects |
759 | call draw_pok |
759 | call draw_pok |
760 | @@: |
760 | @@: |
761 | ret |
761 | ret |
762 | 762 | ||
763 | ;㬥ì襨¥ ¬ áèâ ¡ |
763 | ;㬥ì襨¥ ¬ áèâ ¡ |
764 | align 4 |
764 | align 4 |
765 | but_zoom_m: |
765 | but_zoom_m: |
766 | cmp dword[v_zoom],1 |
766 | cmp dword[v_zoom],1 |
767 | jl @f |
767 | jl @f |
768 | dec dword[v_zoom] |
768 | dec dword[v_zoom] |
769 | shr dword[n_plane],1 |
769 | shr dword[n_plane],1 |
770 | push eax |
770 | push eax |
771 | mov eax,[v_zoom] |
771 | mov eax,[v_zoom] |
772 | cmp eax,[scaled_zoom] |
772 | cmp eax,[scaled_zoom] |
773 | jl .end_0 |
773 | jl .end_0 |
774 | shr dword[cam_x],1 |
774 | shr dword[cam_x],1 |
775 | shr dword[cam_y],1 |
775 | shr dword[cam_y],1 |
776 | jnc .end_1 |
776 | jnc .end_1 |
777 | ;ª®à¥ªâ¨à®¢ª ¯®«§ãª |
777 | ;ª®à¥ªâ¨à®¢ª ¯®«§ãª |
778 | push ecx |
778 | push ecx |
779 | mov ecx,[scaled_zoom] |
779 | mov ecx,[scaled_zoom] |
780 | dec ecx |
780 | dec ecx |
781 | xor eax,eax |
781 | xor eax,eax |
782 | inc eax |
782 | inc eax |
783 | shl eax,cl |
783 | shl eax,cl |
784 | add [n_plane],eax |
784 | add [n_plane],eax |
785 | pop ecx |
785 | pop ecx |
786 | .end_1: |
786 | .end_1: |
787 | shr dword[cam_z],1 |
787 | shr dword[cam_z],1 |
788 | .end_0: |
788 | .end_0: |
789 | pop eax |
789 | pop eax |
790 | call draw_objects |
790 | call draw_objects |
791 | call draw_pok |
791 | call draw_pok |
792 | @@: |
792 | @@: |
793 | ret |
793 | ret |
794 | 794 | ||
795 | align 4 |
795 | align 4 |
796 | but_3: |
796 | but_3: |
797 | stdcall vox_obj_rot_z, [open_file_vox] |
797 | stdcall vox_obj_rot_z, [open_file_vox] |
798 | call draw_objects |
798 | call draw_objects |
799 | ret |
799 | ret |
800 | 800 | ||
801 | align 4 |
801 | align 4 |
802 | but_4: |
802 | but_4: |
803 | stdcall vox_obj_rot_x, [open_file_vox] |
803 | stdcall vox_obj_rot_x, [open_file_vox] |
804 | call draw_objects |
804 | call draw_objects |
805 | ret |
805 | ret |
806 | 806 | ||
807 | ;ᤢ¨£ ¥¬ ¯«®áª®áâì á१ |
807 | ;ᤢ¨£ ¥¬ ¯«®áª®áâì á१ |
808 | align 4 |
808 | align 4 |
809 | but_plane_inc: |
809 | but_plane_inc: |
810 | push eax ecx |
810 | push eax ecx |
811 | inc dword[n_plane] |
811 | inc dword[n_plane] |
812 | mov eax,[v_zoom] |
812 | mov eax,[v_zoom] |
813 | cmp eax,[scaled_zoom] |
813 | cmp eax,[scaled_zoom] |
814 | jle .end_0 |
814 | jle .end_0 |
815 | ;¯à®¨á室¨â ¬ áèâ ¡¨à®¢ ¨¥ |
815 | ;¯à®¨á室¨â ¬ áèâ ¡¨à®¢ ¨¥ |
816 | mov ecx,[scaled_zoom] |
816 | mov ecx,[scaled_zoom] |
817 | xor eax,eax |
817 | xor eax,eax |
818 | inc eax |
818 | inc eax |
819 | shl eax,cl |
819 | shl eax,cl |
820 | cmp eax,[n_plane] |
820 | cmp eax,[n_plane] |
821 | jg @f |
821 | jg @f |
822 | mov dword[n_plane],0 |
822 | mov dword[n_plane],0 |
823 | inc dword[cam_y] ;¯¥à¥å®¤¨¬ ¢ á®á¥¤¨© ªã¡ |
823 | inc dword[cam_y] ;¯¥à¥å®¤¨¬ ¢ á®á¥¤¨© ªã¡ |
824 | neg ecx |
824 | neg ecx |
825 | ;inc ecx |
825 | ;inc ecx |
826 | add ecx,[v_zoom] |
826 | add ecx,[v_zoom] |
827 | xor eax,eax |
827 | xor eax,eax |
828 | inc eax |
828 | inc eax |
829 | shl eax,cl |
829 | shl eax,cl |
830 | cmp eax,[cam_y] |
830 | cmp eax,[cam_y] |
831 | jg @f |
831 | jg @f |
832 | mov dword[cam_y],0 ;§ 横«¨¢ ¥¬ ¥á«¨ ¢ë«¥§«¨ § ¯à¥¤¥«ë ¯®á«¥¤¥£® ªã¡ |
832 | mov dword[cam_y],0 ;§ 横«¨¢ ¥¬ ¥á«¨ ¢ë«¥§«¨ § ¯à¥¤¥«ë ¯®á«¥¤¥£® ªã¡ |
833 | @@: |
833 | @@: |
834 | jmp .end_1 |
834 | jmp .end_1 |
835 | .end_0: |
835 | .end_0: |
836 | ;¬ áèâ ¡¨à®¢ ¨¥ ¥ ¯à®¨á室¨â |
836 | ;¬ áèâ ¡¨à®¢ ¨¥ ¥ ¯à®¨á室¨â |
837 | mov ecx,eax |
837 | mov ecx,eax |
838 | xor eax,eax |
838 | xor eax,eax |
839 | inc eax |
839 | inc eax |
840 | shl eax,cl |
840 | shl eax,cl |
841 | cmp eax,[n_plane] |
841 | cmp eax,[n_plane] |
842 | jg .end_1 |
842 | jg .end_1 |
843 | mov dword[n_plane],0 |
843 | mov dword[n_plane],0 |
844 | .end_1: |
844 | .end_1: |
845 | call draw_objects |
845 | call draw_objects |
846 | call draw_pok |
846 | call draw_pok |
847 | pop ecx eax |
847 | pop ecx eax |
848 | ret |
848 | ret |
849 | 849 | ||
850 | ;ᤢ¨£ ¥¬ ¯«®áª®áâì á१ |
850 | ;ᤢ¨£ ¥¬ ¯«®áª®áâì á१ |
851 | align 4 |
851 | align 4 |
852 | but_plane_dec: |
852 | but_plane_dec: |
853 | dec dword[n_plane] |
853 | dec dword[n_plane] |
854 | cmp dword[n_plane],0 |
854 | cmp dword[n_plane],0 |
855 | jge .end_f |
855 | jge .end_f |
856 | push eax ecx |
856 | push eax ecx |
857 | mov ecx,[scaled_zoom] |
857 | mov ecx,[scaled_zoom] |
858 | xor eax,eax |
858 | xor eax,eax |
859 | inc eax |
859 | inc eax |
860 | shl eax,cl |
860 | shl eax,cl |
861 | dec eax |
861 | dec eax |
862 | mov dword[n_plane],eax |
862 | mov dword[n_plane],eax |
863 | 863 | ||
864 | mov eax,[v_zoom] |
864 | mov eax,[v_zoom] |
865 | cmp eax,[scaled_zoom] |
865 | cmp eax,[scaled_zoom] |
866 | jle .end_0 |
866 | jle .end_0 |
867 | ;¯à®¨á室¨â ¬ áèâ ¡¨à®¢ ¨¥ |
867 | ;¯à®¨á室¨â ¬ áèâ ¡¨à®¢ ¨¥ |
868 | dec dword[cam_y] ;¯¥à¥å®¤¨¬ ¢ á®á¥¤¨© ªã¡ |
868 | dec dword[cam_y] ;¯¥à¥å®¤¨¬ ¢ á®á¥¤¨© ªã¡ |
869 | cmp dword[cam_y],0 |
869 | cmp dword[cam_y],0 |
870 | jge .end_0 |
870 | jge .end_0 |
871 | 871 | ||
872 | mov ecx,eax |
872 | mov ecx,eax |
873 | sub ecx,[scaled_zoom] |
873 | sub ecx,[scaled_zoom] |
874 | xor eax,eax |
874 | xor eax,eax |
875 | inc eax |
875 | inc eax |
876 | shl eax,cl |
876 | shl eax,cl |
877 | dec eax |
877 | dec eax |
878 | mov dword[cam_y],eax ;¥á«¨ ®¬¥à ªã¡ ®ª § «áï ¬¥ìè¥ 0 ¨á¯à ¢«ï¥¬ ¬ ªá¨¬ «ì®¥ § 票¥ |
878 | mov dword[cam_y],eax ;¥á«¨ ®¬¥à ªã¡ ®ª § «áï ¬¥ìè¥ 0 ¨á¯à ¢«ï¥¬ ¬ ªá¨¬ «ì®¥ § 票¥ |
879 | .end_0: |
879 | .end_0: |
880 | pop ecx eax |
880 | pop ecx eax |
881 | .end_f: |
881 | .end_f: |
882 | call draw_objects |
882 | call draw_objects |
883 | call draw_pok |
883 | call draw_pok |
884 | ret |
884 | ret |
885 | 885 | ||
886 | align 4 |
886 | align 4 |
887 | but_light: |
887 | but_light: |
888 | xor dword[mode_light],1 |
888 | xor dword[mode_light],1 |
889 | call draw_objects |
889 | call draw_objects |
890 | ret |
890 | ret |
891 | 891 | ||
892 | align 4 |
892 | align 4 |
893 | but_rend_2_2: |
893 | but_rend_2_2: |
894 | push edi |
894 | push edi |
895 | cmp dword[buf_r_img],0 |
895 | cmp dword[buf_r_img],0 |
896 | jne @f |
896 | jne @f |
897 | ;ᮧ¤ ¨¥ ¡ãä¥à ¤«ï ।¥à |
897 | ;ᮧ¤ ¨¥ ¡ãä¥à ¤«ï ।¥à |
898 | push ecx esi |
898 | push ecx esi |
899 | mov edi,buf_r_img |
899 | mov edi,buf_r_img |
900 | mov esi,buf_0 |
900 | mov esi,buf_0 |
901 | mov ecx,BUF_STRUCT_SIZE |
901 | mov ecx,BUF_STRUCT_SIZE |
902 | cld |
902 | cld |
903 | rep movsb ;ª®¯¨à㥬 ¢á¥ ¯ à ¬¥âàë á ®á®¢®£® ¡ãä¥à |
903 | rep movsb ;ª®¯¨à㥬 ¢á¥ ¯ à ¬¥âàë á ®á®¢®£® ¡ãä¥à |
904 | mov edi,buf_r_img |
904 | mov edi,buf_r_img |
905 | mov buf2d_data,0 |
905 | mov buf2d_data,0 |
906 | shl buf2d_w,1 ;㢥«¨ç¨¢ ¥¬ à §¬¥à ¡ãä¥à |
906 | shl buf2d_w,1 ;㢥«¨ç¨¢ ¥¬ à §¬¥à ¡ãä¥à |
907 | shl buf2d_h,1 |
907 | shl buf2d_h,1 |
908 | stdcall [buf2d_create],buf_r_img |
908 | stdcall [buf2d_create],buf_r_img |
909 | 909 | ||
910 | mov edi,buf_r_z |
910 | mov edi,buf_r_z |
911 | mov esi,buf_0z |
911 | mov esi,buf_0z |
912 | mov ecx,BUF_STRUCT_SIZE |
912 | mov ecx,BUF_STRUCT_SIZE |
913 | cld |
913 | cld |
914 | rep movsb ;ª®¯¨à㥬 ¢á¥ ¯ à ¬¥âàë á ®á®¢®£® ¡ãä¥à |
914 | rep movsb ;ª®¯¨à㥬 ¢á¥ ¯ à ¬¥âàë á ®á®¢®£® ¡ãä¥à |
915 | mov edi,buf_r_z |
915 | mov edi,buf_r_z |
916 | mov buf2d_data,0 |
916 | mov buf2d_data,0 |
917 | shl buf2d_w,1 ;㢥«¨ç¨¢ ¥¬ à §¬¥à ¡ãä¥à |
917 | shl buf2d_w,1 ;㢥«¨ç¨¢ ¥¬ à §¬¥à ¡ãä¥à |
918 | shl buf2d_h,1 |
918 | shl buf2d_h,1 |
919 | stdcall [buf2d_create],buf_r_z |
919 | stdcall [buf2d_create],buf_r_z |
920 | pop esi ecx |
920 | pop esi ecx |
921 | @@: |
921 | @@: |
922 | stdcall [buf2d_clear], buf_r_img, [buf_0.color] ;ç¨á⨬ ¡ãä¥à |
922 | stdcall [buf2d_clear], buf_r_img, [buf_0.color] ;ç¨á⨬ ¡ãä¥à |
923 | stdcall [buf2d_clear], buf_r_z, 0 ;ç¨á⨬ ¡ãä¥à |
923 | stdcall [buf2d_clear], buf_r_z, 0 ;ç¨á⨬ ¡ãä¥à |
924 | 924 | ||
925 | push eax ebx ecx |
925 | push eax ebx ecx |
926 | mov eax,[v_zoom] |
926 | mov eax,[v_zoom] |
927 | cmp eax,[scaled_zoom] |
927 | cmp eax,[scaled_zoom] |
928 | jle .end_scaled |
928 | jle .end_scaled |
929 | ;।¥à 㢥«¨ç¥®© ç á⨠®¡ê¥ªâ |
929 | ;।¥à 㢥«¨ç¥®© ç á⨠®¡ê¥ªâ |
930 | mov ebx,[scaled_zoom] |
930 | mov ebx,[scaled_zoom] |
931 | sub eax,ebx |
931 | sub eax,ebx |
932 | inc ebx |
932 | inc ebx |
933 | stdcall [buf2d_vox_obj_draw_3g_scaled], buf_r_img, buf_r_z, buf_vox,\ |
933 | stdcall [buf2d_vox_obj_draw_3g_scaled], buf_r_img, buf_r_z, buf_vox,\ |
934 | [open_file_vox], 0,0, 0, ebx, [cam_x],[cam_y],[cam_z],eax, [sc.work_graph] |
934 | [open_file_vox], 0,0, 0, ebx, [cam_x],[cam_y],[cam_z],eax, [sc.work_graph] |
935 | bt dword[mode_light],0 |
935 | bt dword[mode_light],0 |
936 | jnc @f |
936 | jnc @f |
937 | stdcall [buf2d_vox_obj_draw_3g_shadows], buf_r_img, buf_r_z, buf_vox, 0,0, 0, ebx, 3 |
937 | stdcall [buf2d_vox_obj_draw_3g_shadows], buf_r_img, buf_r_z, buf_vox, 0,0, 0, ebx, 3 |
938 | @@: |
938 | @@: |
939 | xor ebx,ebx |
939 | xor ebx,ebx |
940 | xor ecx,ecx |
940 | xor ecx,ecx |
941 | mov edi,buf_r_img |
941 | mov edi,buf_r_img |
942 | stdcall [buf2d_img_hdiv2], edi |
942 | stdcall [buf2d_img_hdiv2], edi |
943 | shr buf2d_h,1 |
943 | shr buf2d_h,1 |
944 | stdcall [buf2d_img_wdiv2], edi |
944 | stdcall [buf2d_img_wdiv2], edi |
945 | shr buf2d_w,1 |
945 | shr buf2d_w,1 |
946 | jmp .show |
946 | jmp .show |
947 | .end_scaled: |
947 | .end_scaled: |
948 | 948 | ||
949 | inc eax |
949 | inc eax |
950 | stdcall [buf2d_vox_obj_draw_3g], buf_r_img, buf_r_z, buf_vox, [open_file_vox], 0,0, 0, eax |
950 | stdcall [buf2d_vox_obj_draw_3g], buf_r_img, buf_r_z, buf_vox, [open_file_vox], 0,0, 0, eax |
951 | stdcall [buf2d_vox_obj_draw_1g], buf_r_img, buf_r_z, [open_file_vox], 0,0, eax |
951 | stdcall [buf2d_vox_obj_draw_1g], buf_r_img, buf_r_z, [open_file_vox], 0,0, eax |
952 | bt dword[mode_light],0 |
952 | bt dword[mode_light],0 |
953 | jnc @f |
953 | jnc @f |
954 | stdcall [buf2d_vox_obj_draw_3g_shadows], buf_r_img, buf_r_z, buf_vox, 0,0, 0, eax, 3 |
954 | stdcall [buf2d_vox_obj_draw_3g_shadows], buf_r_img, buf_r_z, buf_vox, 0,0, 0, eax, 3 |
955 | @@: |
955 | @@: |
956 | 956 | ||
957 | mov edi,buf_r_img |
957 | mov edi,buf_r_img |
958 | stdcall [buf2d_img_hdiv2], edi |
958 | stdcall [buf2d_img_hdiv2], edi |
959 | shr buf2d_h,1 |
959 | shr buf2d_h,1 |
960 | stdcall [buf2d_img_wdiv2], edi |
960 | stdcall [buf2d_img_wdiv2], edi |
961 | shr buf2d_w,1 |
961 | shr buf2d_w,1 |
962 | 962 | ||
963 | stdcall [buf2d_vox_obj_get_img_w_3g], buf_vox,[v_zoom] |
963 | stdcall [buf2d_vox_obj_get_img_w_3g], buf_vox,[v_zoom] |
964 | mov ebx,[buf_0.w] |
964 | mov ebx,[buf_0.w] |
965 | sub ebx,eax |
965 | sub ebx,eax |
966 | shr ebx,1 ;ebx - ¤«ï æ¥â஢ª¨ ¬ «¥ìª¨å ¨§®¡à ¦¥¨© ¯® £®à¨§®â «¨ |
966 | shr ebx,1 ;ebx - ¤«ï æ¥â஢ª¨ ¬ «¥ìª¨å ¨§®¡à ¦¥¨© ¯® £®à¨§®â «¨ |
967 | stdcall [buf2d_vox_obj_get_img_h_3g], buf_vox,[v_zoom] |
967 | stdcall [buf2d_vox_obj_get_img_h_3g], buf_vox,[v_zoom] |
968 | cmp eax,[buf_0.h] |
968 | cmp eax,[buf_0.h] |
969 | jg @f |
969 | jg @f |
970 | mov ecx,[buf_0.h] |
970 | mov ecx,[buf_0.h] |
971 | sub ecx,eax |
971 | sub ecx,eax |
972 | shr ecx,1 ;ecx - ¤«ï æ¥â஢ª¨ ¬ «¥ìª¨å ¨§®¡à ¦¥¨© ¯® ¢¥à⨪ «¨ |
972 | shr ecx,1 ;ecx - ¤«ï æ¥â஢ª¨ ¬ «¥ìª¨å ¨§®¡à ¦¥¨© ¯® ¢¥à⨪ «¨ |
973 | @@: |
973 | @@: |
974 | .show: |
974 | .show: |
975 | stdcall [buf2d_bit_blt], buf_0, ebx,ecx, edi |
975 | stdcall [buf2d_bit_blt], buf_0, ebx,ecx, edi |
976 | shl buf2d_h,1 |
976 | shl buf2d_h,1 |
977 | shl buf2d_w,1 |
977 | shl buf2d_w,1 |
978 | pop ecx ebx eax |
978 | pop ecx ebx eax |
979 | pop edi |
979 | pop edi |
980 | stdcall [buf2d_draw], buf_0 ;®¡®¢«ï¥¬ ¡ãä¥à íªà ¥ |
980 | stdcall [buf2d_draw], buf_0 ;®¡®¢«ï¥¬ ¡ãä¥à íªà ¥ |
981 | ret |
981 | ret |
982 | 982 | ||
983 | align 4 |
983 | align 4 |
984 | but_move: |
984 | but_move: |
985 | push eax |
985 | push eax |
986 | stdcall but_new_file, [moved_file_vox] |
986 | stdcall but_new_file, [moved_file_vox] |
987 | mov eax,[v_zoom] |
987 | mov eax,[v_zoom] |
988 | stdcall buf_vox_obj_recreat, [open_file_vox], [moved_file_vox],\ |
988 | stdcall buf_vox_obj_recreat, [open_file_vox], [moved_file_vox],\ |
989 | [mov_x],[mov_y],[mov_z], eax |
989 | [mov_x],[mov_y],[mov_z], eax |
990 | 990 | ||
991 | stdcall [buf2d_clear], buf_0, [buf_0.color] ;ç¨á⨬ ¡ãä¥à |
991 | stdcall [buf2d_clear], buf_0, [buf_0.color] ;ç¨á⨬ ¡ãä¥à |
992 | stdcall [buf2d_clear], buf_0z, 0 ;ç¨á⨬ ¡ãä¥à |
992 | stdcall [buf2d_clear], buf_0z, 0 ;ç¨á⨬ ¡ãä¥à |
993 | cmp eax,[scaled_zoom] |
993 | cmp eax,[scaled_zoom] |
994 | jle @f |
994 | jle @f |
995 | mov eax,[scaled_zoom] |
995 | mov eax,[scaled_zoom] |
996 | @@: |
996 | @@: |
997 | stdcall [buf2d_vox_obj_draw_3g], buf_0, buf_0z, buf_vox, [moved_file_vox], 0,0,0, eax |
997 | stdcall [buf2d_vox_obj_draw_3g], buf_0, buf_0z, buf_vox, [moved_file_vox], 0,0,0, eax |
998 | pop eax |
998 | pop eax |
999 | stdcall [buf2d_draw], buf_0 ;®¡®¢«ï¥¬ ¡ãä¥à íªà ¥ |
999 | stdcall [buf2d_draw], buf_0 ;®¡®¢«ï¥¬ ¡ãä¥à íªà ¥ |
1000 | ret |
1000 | ret |
1001 | 1001 | ||
1002 | ;description: |
1002 | ;description: |
1003 | ; äãªæ¨ï à¨áãîé ï ¢®ªá¥«ìë© ®¡ê¥ªâ (¢¨¤® 3 £à ¨) |
1003 | ; äãªæ¨ï à¨áãîé ï ¢®ªá¥«ìë© ®¡ê¥ªâ (¢¨¤® 3 £à ¨) |
1004 | ;input: |
1004 | ;input: |
1005 | ; v_obj - ¢®ªá¥«ìë© ®¡ê¥ªâ |
1005 | ; v_obj - ¢®ªá¥«ìë© ®¡ê¥ªâ |
1006 | ; k_scale - ª®íä. ¤«ï ¬ áèâ ¡¨à®¢ ¨ï ¨§®¡à ¦¥¨ï |
1006 | ; k_scale - ª®íä. ¤«ï ¬ áèâ ¡¨à®¢ ¨ï ¨§®¡à ¦¥¨ï |
1007 | align 4 |
1007 | align 4 |
1008 | proc buf_vox_obj_recreat, v_obj:dword, obj_n:dword,\ |
1008 | proc buf_vox_obj_recreat, v_obj:dword, obj_n:dword,\ |
1009 | coord_x:dword, coord_y:dword, coord_z:dword, k_scale:dword |
1009 | coord_x:dword, coord_y:dword, coord_z:dword, k_scale:dword |
1010 | pushad |
1010 | pushad |
1011 | mov edi,[v_obj] |
1011 | mov edi,[v_obj] |
1012 | mov ecx,[k_scale] |
1012 | mov ecx,[k_scale] |
1013 | mov ebx,[coord_x] |
1013 | mov ebx,[coord_x] |
1014 | mov edx,[coord_y] |
1014 | mov edx,[coord_y] |
1015 | add edi,vox_offs_data |
1015 | add edi,vox_offs_data |
1016 | mov esi,[coord_z] |
1016 | mov esi,[coord_z] |
1017 | stdcall vox_go_in_node, [v_obj], [obj_n] |
1017 | stdcall vox_go_in_node, [v_obj], [obj_n] |
1018 | popad |
1018 | popad |
1019 | ret |
1019 | ret |
1020 | endp |
1020 | endp |
1021 | 1021 | ||
1022 | ;input: |
1022 | ;input: |
1023 | ; ebx - coord_x |
1023 | ; ebx - coord_x |
1024 | ; edx - coord_y |
1024 | ; edx - coord_y |
1025 | ; esi - coord_z |
1025 | ; esi - coord_z |
1026 | ; ecx - ã஢¥ì ⥪ã襣® 㧫 |
1026 | ; ecx - ã஢¥ì ⥪ã襣® 㧫 |
1027 | ; edi - 㪠§ â¥«ì ¤ ë¥ ¢®ªá¥«ì®£® ®¡ê¥ªâ |
1027 | ; edi - 㪠§ â¥«ì ¤ ë¥ ¢®ªá¥«ì®£® ®¡ê¥ªâ |
1028 | align 4 |
1028 | align 4 |
1029 | proc vox_go_in_node, v_obj:dword, obj_n:dword |
1029 | proc vox_go_in_node, v_obj:dword, obj_n:dword |
1030 | cmp byte[edi+3],0 ;ᬮâਬ ¥áâì «¨ ¯®¤¤¥à¥¢ìï |
1030 | cmp byte[edi+3],0 ;ᬮâਬ ¥áâì «¨ ¯®¤¤¥à¥¢ìï |
1031 | je .sub_trees |
1031 | je .sub_trees |
1032 | ;४ãàá¨¢ë© ¯¥à¥¡®à ¯®¤¤¥à¥¢ì¥¢ |
1032 | ;४ãàá¨¢ë© ¯¥à¥¡®à ¯®¤¤¥à¥¢ì¥¢ |
1033 | push eax edx |
1033 | push eax edx |
1034 | 1034 | ||
1035 | ;¯à®à¨á®¢ª à ¬ª¨ ¥á«¨ à §¬¥à 㧫 = 1 |
1035 | ;¯à®à¨á®¢ª à ¬ª¨ ¥á«¨ à §¬¥à 㧫 = 1 |
1036 | cmp ecx,0 |
1036 | cmp ecx,0 |
1037 | jne @f |
1037 | jne @f |
1038 | stdcall buf2d_vox_obj_create_node, [obj_n], ebx,edx,esi, [v_zoom], [edi] |
1038 | stdcall buf2d_vox_obj_create_node, [obj_n], ebx,edx,esi, [v_zoom], [edi] |
1039 | @@: |
1039 | @@: |
1040 | 1040 | ||
1041 | ;¢å®¤ ¢ãâàì 㧫 |
1041 | ;¢å®¤ ¢ãâàì 㧫 |
1042 | dec ecx |
1042 | dec ecx |
1043 | mov ah,byte[edi+3] |
1043 | mov ah,byte[edi+3] |
1044 | add edi,4 |
1044 | add edi,4 |
1045 | mov al,8 |
1045 | mov al,8 |
1046 | .cycle: |
1046 | .cycle: |
1047 | bt ax,8 ;â¥áâ¨à㥬 ⮫쪮 ah |
1047 | bt ax,8 ;â¥áâ¨à㥬 ⮫쪮 ah |
1048 | jnc .c_next |
1048 | jnc .c_next |
1049 | push ebx edx esi |
1049 | push ebx edx esi |
1050 | stdcall vox_corect_coords, [v_obj] |
1050 | stdcall vox_corect_coords, [v_obj] |
1051 | stdcall vox_go_in_node, [v_obj], [obj_n] |
1051 | stdcall vox_go_in_node, [v_obj], [obj_n] |
1052 | pop esi edx ebx |
1052 | pop esi edx ebx |
1053 | .c_next: |
1053 | .c_next: |
1054 | shr ah,1 |
1054 | shr ah,1 |
1055 | dec al |
1055 | dec al |
1056 | jnz .cycle |
1056 | jnz .cycle |
1057 | 1057 | ||
1058 | ;¢ë室 ¨§ 㧫 |
1058 | ;¢ë室 ¨§ 㧫 |
1059 | inc ecx |
1059 | inc ecx |
1060 | pop edx eax |
1060 | pop edx eax |
1061 | 1061 | ||
1062 | jmp .end_f |
1062 | jmp .end_f |
1063 | .sub_trees: |
1063 | .sub_trees: |
1064 | ;à¨á㥬 㧥« |
1064 | ;à¨á㥬 㧥« |
1065 | cmp ecx,0 |
1065 | cmp ecx,0 |
1066 | jne @f |
1066 | jne @f |
1067 | stdcall buf2d_vox_obj_create_node, [obj_n], ebx,edx,esi, [v_zoom], [edi] |
1067 | stdcall buf2d_vox_obj_create_node, [obj_n], ebx,edx,esi, [v_zoom], [edi] |
1068 | @@: |
1068 | @@: |
1069 | 1069 | ||
1070 | add edi,4 |
1070 | add edi,4 |
1071 | .end_f: |
1071 | .end_f: |
1072 | ret |
1072 | ret |
1073 | endp |
1073 | endp |
1074 | 1074 | ||
1075 | ;description: |
1075 | ;description: |
1076 | ;äãªæ¨ï ¤«ï ª®à¥ªâ¨à®¢ª¨ ª®®à¤¨ â |
1076 | ;äãªæ¨ï ¤«ï ª®à¥ªâ¨à®¢ª¨ ª®®à¤¨ â |
1077 | ; ¯à ¢«¥¨ï ®á¥© ª®®à¤¨ â ¢ ¢®ªá¥«¥: |
1077 | ; ¯à ¢«¥¨ï ®á¥© ª®®à¤¨ â ¢ ¢®ªá¥«¥: |
1078 | ;*z |
1078 | ;*z |
1079 | ;| |
1079 | ;| |
1080 | ;+ |
1080 | ;+ |
1081 | ; * y |
1081 | ; * y |
1082 | ; / |
1082 | ; / |
1083 | ;+ |
1083 | ;+ |
1084 | ; \ |
1084 | ; \ |
1085 | ; * x |
1085 | ; * x |
1086 | ;input: |
1086 | ;input: |
1087 | ; al - ®¬¥à 㧫 ¢ ¤¥à¥¢¥ (®â 1 ¤® 8) |
1087 | ; al - ®¬¥à 㧫 ¢ ¤¥à¥¢¥ (®â 1 ¤® 8) |
1088 | ; ebx - ª®®à¤¨ â x |
1088 | ; ebx - ª®®à¤¨ â x |
1089 | ; edx - ª®®à¤¨ â y |
1089 | ; edx - ª®®à¤¨ â y |
1090 | ; esi - ª®®à¤¨ â z |
1090 | ; esi - ª®®à¤¨ â z |
1091 | ; ecx - ã஢¥ì ⥪ã襣® 㧫 |
1091 | ; ecx - ã஢¥ì ⥪ã襣® 㧫 |
1092 | ;output: |
1092 | ;output: |
1093 | ; ebx - ®¢ ï ª®®à¤¨ â x |
1093 | ; ebx - ®¢ ï ª®®à¤¨ â x |
1094 | ; edx - ®¢ ï ª®®à¤¨ â y |
1094 | ; edx - ®¢ ï ª®®à¤¨ â y |
1095 | ; esi - ®¢ ï ª®®à¤¨ â z |
1095 | ; esi - ®¢ ï ª®®à¤¨ â z |
1096 | align 4 |
1096 | align 4 |
1097 | proc vox_corect_coords, v_obj:dword |
1097 | proc vox_corect_coords, v_obj:dword |
1098 | cmp ecx,0 |
1098 | cmp ecx,0 |
1099 | jl .end_f ;¤«ï ãáª®à¥¨ï ®âà¨á®¢ª¨ |
1099 | jl .end_f ;¤«ï ãáª®à¥¨ï ®âà¨á®¢ª¨ |
1100 | 1100 | ||
1101 | push eax edi |
1101 | push eax edi |
1102 | and eax,15 ;¢ë¤¥«ï¥¬ ®¬¥à 㧫 ¢ ¤¥à¥¢¥ |
1102 | and eax,15 ;¢ë¤¥«ï¥¬ ®¬¥à 㧫 ¢ ¤¥à¥¢¥ |
1103 | mov edi,[v_obj] |
1103 | mov edi,[v_obj] |
1104 | add edi,vox_offs_tree_table |
1104 | add edi,vox_offs_tree_table |
1105 | add edi,8 |
1105 | add edi,8 |
1106 | sub edi,eax |
1106 | sub edi,eax |
1107 | 1107 | ||
1108 | xor eax,eax |
1108 | xor eax,eax |
1109 | inc eax |
1109 | inc eax |
1110 | cmp ecx,1 |
1110 | cmp ecx,1 |
1111 | jl .no_scale ;¢® ¨§¡¥¦ ¨¥ § 横«¨¢ ¨ï |
1111 | jl .no_scale ;¢® ¨§¡¥¦ ¨¥ § 横«¨¢ ¨ï |
1112 | shl eax,cl |
1112 | shl eax,cl |
1113 | .no_scale: |
1113 | .no_scale: |
1114 | 1114 | ||
1115 | bt word[edi],0 ;test voxel coord x |
1115 | bt word[edi],0 ;test voxel coord x |
1116 | jnc @f |
1116 | jnc @f |
1117 | add ebx,eax |
1117 | add ebx,eax |
1118 | @@: |
1118 | @@: |
1119 | bt word[edi],1 ;test voxel coord y |
1119 | bt word[edi],1 ;test voxel coord y |
1120 | jnc @f |
1120 | jnc @f |
1121 | add edx,eax |
1121 | add edx,eax |
1122 | @@: |
1122 | @@: |
1123 | bt word[edi],2 ;test voxel coord z |
1123 | bt word[edi],2 ;test voxel coord z |
1124 | jnc @f |
1124 | jnc @f |
1125 | add esi,eax |
1125 | add esi,eax |
1126 | @@: |
1126 | @@: |
1127 | pop edi eax |
1127 | pop edi eax |
1128 | .end_f: |
1128 | .end_f: |
1129 | ret |
1129 | ret |
1130 | endp |
1130 | endp |
1131 | 1131 | ||
1132 | align 4 |
1132 | align 4 |
1133 | v_zoom dd 3 ;⥪ã騩 ¬ áèâ ¡ |
1133 | v_zoom dd 3 ;⥪ã騩 ¬ áèâ ¡ |
1134 | v_cur_x dd 0 ;ª®®à¤¨ â ªãàá®à x |
1134 | v_cur_x dd 0 ;ª®®à¤¨ â ªãàá®à x |
1135 | v_cur_y dd 0 ;ª®®à¤¨ â ªãàá®à y (® ®áì ¢ ®¡ê¥ªâ¥ z) |
1135 | v_cur_y dd 0 ;ª®®à¤¨ â ªãàá®à y (® ®áì ¢ ®¡ê¥ªâ¥ z) |
1136 | n_plane dd 0 ;¯«®áª®áâì á¥ç¥¨ï |
1136 | n_plane dd 0 ;¯«®áª®áâì á¥ç¥¨ï |
1137 | v_color dd 0xff ;梥⠪ à ¤ è |
1137 | v_color dd 0xff ;梥⠪ à ¤ è |
1138 | mode_light dd 1 ;०¨¬ ®á¢¥é¥¨ï |
1138 | mode_light dd 1 ;०¨¬ ®á¢¥é¥¨ï |
1139 | cam_x dd 0 |
1139 | cam_x dd 0 |
1140 | cam_y dd 0 |
1140 | cam_y dd 0 |
1141 | cam_z dd 0 |
1141 | cam_z dd 0 |
1142 | ;ᤢ¨£¨ ®¡ê¥ªâ ¯à¨ ¯¥à¥á®§¤ ¨¨ (¯¥à¥¤¢¨¦¥¨¨) |
1142 | ;ᤢ¨£¨ ®¡ê¥ªâ ¯à¨ ¯¥à¥á®§¤ ¨¨ (¯¥à¥¤¢¨¦¥¨¨) |
1143 | mov_x dd 0 |
1143 | mov_x dd 0 |
1144 | mov_y dd 0 |
1144 | mov_y dd 0 |
1145 | mov_z dd 0 |
1145 | mov_z dd 0 |
1146 | scaled_zoom dd 5 ;¬ áèâ ¡ ¯®á«¥ ª®â®à®£® ç¨ ¥âáï à¨á®¢ ¨¥ ç á⨠¨§®¡à ¦¥¨ï |
1146 | scaled_zoom dd 5 ;¬ áèâ ¡ ¯®á«¥ ª®â®à®£® ç¨ ¥âáï à¨á®¢ ¨¥ ç á⨠¨§®¡à ¦¥¨ï |
1147 | tile_size dd ? ;à §¬¥à ª¢ ¤à ⨪ ¯«®áª®á⨠á á¥ç¥¨¥¬ |
1147 | tile_size dd ? ;à §¬¥à ª¢ ¤à ⨪ ¯«®áª®á⨠á á¥ç¥¨¥¬ |
1148 | max_open_file_size dd ? |
1148 | max_open_file_size dd ? |
1149 | brush_w dd 5 ;è¨à¨ ª¨á⨠|
1149 | brush_w dd 5 ;è¨à¨ ª¨á⨠|
1150 | brush_h dd 5 ;¢ëá®â ª¨á⨠|
1150 | brush_h dd 5 ;¢ëá®â ª¨á⨠|
1151 | brush_data dd 1 shl 31,1 shl 30,1 shl 30,1 shl 30,1 shl 31 |
1151 | brush_data dd 1 shl 31,1 shl 30,1 shl 30,1 shl 30,1 shl 31 |
1152 | dd 1 shl 30,1 shl 30,1 shl 30,1 shl 30,1 shl 30 |
1152 | dd 1 shl 30,1 shl 30,1 shl 30,1 shl 30,1 shl 30 |
1153 | dd 1 shl 30,1 shl 30,1 shl 30,1 shl 30,1 shl 30 |
1153 | dd 1 shl 30,1 shl 30,1 shl 30,1 shl 30,1 shl 30 |
1154 | dd 1 shl 30,1 shl 30,1 shl 30,1 shl 30,1 shl 30 |
1154 | dd 1 shl 30,1 shl 30,1 shl 30,1 shl 30,1 shl 30 |
1155 | dd 1 shl 31,1 shl 30,1 shl 30,1 shl 30,1 shl 31 |
1155 | dd 1 shl 31,1 shl 30,1 shl 30,1 shl 30,1 shl 31 |
1156 | rd 999 ;32*32-25 |
1156 | rd 999 ;32*32-25 |
1157 | 1157 | ||
1158 | if lang eq ru |
1158 | if lang eq ru |
1159 | txt_zoom db ' áèâ ¡:',0 |
1159 | txt_zoom db ' áèâ ¡:',0 |
1160 | txt_curor: db 'ãàá®à: ' |
1160 | txt_curor: db 'ãàá®à: ' |
1161 | .size: rb 10 |
1161 | .size: rb 10 |
1162 | txt_n_plane db '¥ç¥¨¥:',0 |
1162 | txt_n_plane db '¥ç¥¨¥:',0 |
1163 | txt_color db '¢¥â:',0 |
1163 | txt_color db '¢¥â:',0 |
1164 | txt_mov_offs: db '¬¥é¥¨¥: ' |
1164 | txt_mov_offs: db '¬¥é¥¨¥: ' |
1165 | else |
1165 | else |
1166 | txt_zoom db 'Scale:',0 |
1166 | txt_zoom db 'Scale:',0 |
1167 | txt_curor: db 'Cursor: ' |
1167 | txt_curor: db 'Cursor: ' |
1168 | .size: rb 10 |
1168 | .size: rb 10 |
1169 | txt_n_plane db 'Section:',0 |
1169 | txt_n_plane db 'Section:',0 |
1170 | txt_color db 'Color:',0 |
1170 | txt_color db 'Color:',0 |
1171 | txt_mov_offs: db 'Offset: ' |
1171 | txt_mov_offs: db 'Offset: ' |
1172 | end if |
1172 | end if |
1173 | .size: rb 30 |
1173 | .size: rb 30 |
1174 | txt_mull db '*',0 |
1174 | txt_mull db '*',0 |
1175 | txt_space db ' ',0 |
1175 | txt_space db ' ',0 |
1176 | txt_buf rb 16 |
1176 | txt_buf rb 16 |
1177 | 1177 | ||
1178 | align 4 |
1178 | align 4 |
1179 | draw_objects: |
1179 | draw_objects: |
1180 | stdcall [buf2d_clear], buf_0, [buf_0.color] ;ç¨á⨬ ¡ãä¥à |
1180 | stdcall [buf2d_clear], buf_0, [buf_0.color] ;ç¨á⨬ ¡ãä¥à |
1181 | stdcall [buf2d_clear], buf_0z, 0 ;ç¨á⨬ ¡ãä¥à |
1181 | stdcall [buf2d_clear], buf_0z, 0 ;ç¨á⨬ ¡ãä¥à |
1182 | stdcall [buf2d_clear], buf_pl, [buf_pl.color] ;ç¨á⨬ ¡ãä¥à |
1182 | stdcall [buf2d_clear], buf_pl, [buf_pl.color] ;ç¨á⨬ ¡ãä¥à |
1183 | 1183 | ||
1184 | push eax ebx ecx |
1184 | push eax ebx ecx |
1185 | stdcall [buf2d_vox_obj_get_img_w_3g], buf_vox,[v_zoom] |
1185 | stdcall [buf2d_vox_obj_get_img_w_3g], buf_vox,[v_zoom] |
1186 | mov ebx,[buf_0.w] |
1186 | mov ebx,[buf_0.w] |
1187 | sub ebx,eax |
1187 | sub ebx,eax |
1188 | shr ebx,1 ;ebx - ¤«ï æ¥â஢ª¨ ¬ «¥ìª¨å ¨§®¡à ¦¥¨© ¯® £®à¨§®â «¨ |
1188 | shr ebx,1 ;ebx - ¤«ï æ¥â஢ª¨ ¬ «¥ìª¨å ¨§®¡à ¦¥¨© ¯® £®à¨§®â «¨ |
1189 | 1189 | ||
1190 | xor ecx,ecx |
1190 | xor ecx,ecx |
1191 | stdcall [buf2d_vox_obj_get_img_h_3g], buf_vox,[v_zoom] |
1191 | stdcall [buf2d_vox_obj_get_img_h_3g], buf_vox,[v_zoom] |
1192 | cmp eax,[buf_0.h] |
1192 | cmp eax,[buf_0.h] |
1193 | jg @f |
1193 | jg @f |
1194 | mov ecx,[buf_0.h] |
1194 | mov ecx,[buf_0.h] |
1195 | sub ecx,eax |
1195 | sub ecx,eax |
1196 | shr ecx,1 ;ecx - ¤«ï æ¥â஢ª¨ ¬ «¥ìª¨å ¨§®¡à ¦¥¨© ¯® |
1196 | shr ecx,1 ;ecx - ¤«ï æ¥â஢ª¨ ¬ «¥ìª¨å ¨§®¡à ¦¥¨© ¯® |
1197 | @@: |
1197 | @@: |
1198 | 1198 | ||
1199 | mov eax,[v_zoom] |
1199 | mov eax,[v_zoom] |
1200 | cmp eax,[scaled_zoom] |
1200 | cmp eax,[scaled_zoom] |
1201 | jg @f |
1201 | jg @f |
1202 | ;®¡ëçë© à¥¦¨¬ ¨§®¡à ¦¥¨ï |
1202 | ;®¡ëçë© à¥¦¨¬ ¨§®¡à ¦¥¨ï |
1203 | stdcall [buf2d_vox_obj_draw_3g], buf_0, buf_0z, buf_vox,\ |
1203 | stdcall [buf2d_vox_obj_draw_3g], buf_0, buf_0z, buf_vox,\ |
1204 | [open_file_vox], ebx,ecx, 0, eax |
1204 | [open_file_vox], ebx,ecx, 0, eax |
1205 | stdcall [buf2d_vox_obj_draw_pl], buf_pl, [open_file_vox],\ |
1205 | stdcall [buf2d_vox_obj_draw_pl], buf_pl, [open_file_vox],\ |
1206 | OT_MAP_X,OT_MAP_Y,[tile_size], eax, [n_plane], [sc.work_graph] |
1206 | OT_MAP_X,OT_MAP_Y,[tile_size], eax, [n_plane], [sc.work_graph] |
1207 | stdcall [buf2d_vox_obj_draw_1g], buf_0, buf_0z,\ |
1207 | stdcall [buf2d_vox_obj_draw_1g], buf_0, buf_0z,\ |
1208 | [open_file_vox], 0,0, eax |
1208 | [open_file_vox], 0,0, eax |
1209 | bt dword[mode_light],0 |
1209 | bt dword[mode_light],0 |
1210 | jnc .end_1 |
1210 | jnc .end_1 |
1211 | stdcall [buf2d_vox_obj_draw_3g_shadows], buf_0, buf_0z, buf_vox, ebx,ecx, 0, eax, 3 |
1211 | stdcall [buf2d_vox_obj_draw_3g_shadows], buf_0, buf_0z, buf_vox, ebx,ecx, 0, eax, 3 |
1212 | .end_1: |
1212 | .end_1: |
1213 | jmp .end_0 |
1213 | jmp .end_0 |
1214 | @@: |
1214 | @@: |
1215 | ;०¨¬ ¬ áèâ ¡¨à®¢ ¨ï ¨§®¡à ¦¥¨ï |
1215 | ;०¨¬ ¬ áèâ ¡¨à®¢ ¨ï ¨§®¡à ¦¥¨ï |
1216 | sub eax,[scaled_zoom] |
1216 | sub eax,[scaled_zoom] |
1217 | stdcall [buf2d_vox_obj_draw_3g_scaled], buf_0, buf_0z, buf_vox,\ |
1217 | stdcall [buf2d_vox_obj_draw_3g_scaled], buf_0, buf_0z, buf_vox,\ |
1218 | [open_file_vox], 0,0, 0, [scaled_zoom], [cam_x],[cam_y],[cam_z],eax, [sc.work_graph] ;scroll -> 2^eax |
1218 | [open_file_vox], 0,0, 0, [scaled_zoom], [cam_x],[cam_y],[cam_z],eax, [sc.work_graph] ;scroll -> 2^eax |
1219 | stdcall [buf2d_vox_obj_draw_pl_scaled], buf_pl, [open_file_vox],\ |
1219 | stdcall [buf2d_vox_obj_draw_pl_scaled], buf_pl, [open_file_vox],\ |
1220 | OT_MAP_X,OT_MAP_Y,[tile_size], [scaled_zoom], [n_plane], [sc.work_graph],[cam_x],[cam_y],[cam_z],eax |
1220 | OT_MAP_X,OT_MAP_Y,[tile_size], [scaled_zoom], [n_plane], [sc.work_graph],[cam_x],[cam_y],[cam_z],eax |
1221 | bt dword[mode_light],0 |
1221 | bt dword[mode_light],0 |
1222 | jnc .end_2 |
1222 | jnc .end_2 |
1223 | stdcall [buf2d_vox_obj_draw_3g_shadows], buf_0, buf_0z, buf_vox, 0,0, 0, [scaled_zoom], 3 |
1223 | stdcall [buf2d_vox_obj_draw_3g_shadows], buf_0, buf_0z, buf_vox, 0,0, 0, [scaled_zoom], 3 |
1224 | .end_2: |
1224 | .end_2: |
1225 | .end_0: |
1225 | .end_0: |
1226 | pop ecx ebx eax |
1226 | pop ecx ebx eax |
1227 | 1227 | ||
1228 | call draw_vox_cursor |
1228 | call draw_vox_cursor |
1229 | stdcall [buf2d_draw], buf_0 ;®¡®¢«ï¥¬ ¡ãä¥à íªà ¥ |
1229 | stdcall [buf2d_draw], buf_0 ;®¡®¢«ï¥¬ ¡ãä¥à íªà ¥ |
1230 | stdcall [buf2d_draw], buf_pl ;®¡®¢«ï¥¬ ¡ãä¥à íªà ¥ |
1230 | stdcall [buf2d_draw], buf_pl ;®¡®¢«ï¥¬ ¡ãä¥à íªà ¥ |
1231 | .end_f: |
1231 | .end_f: |
1232 | ret |
1232 | ret |
1233 | 1233 | ||
1234 | ;à¨á®¢ ¨¥ ªãàá®à |
1234 | ;à¨á®¢ ¨¥ ªãàá®à |
1235 | align 4 |
1235 | align 4 |
1236 | draw_vox_cursor: |
1236 | draw_vox_cursor: |
1237 | pushad |
1237 | pushad |
1238 | mov ecx,[v_zoom] |
1238 | mov ecx,[v_zoom] |
1239 | cmp ecx,[scaled_zoom] |
1239 | cmp ecx,[scaled_zoom] |
1240 | jle @f |
1240 | jle @f |
1241 | mov ecx,[scaled_zoom] |
1241 | mov ecx,[scaled_zoom] |
1242 | @@: |
1242 | @@: |
1243 | xor edx,edx |
1243 | xor edx,edx |
1244 | inc edx |
1244 | inc edx |
1245 | shl edx,cl |
1245 | shl edx,cl |
1246 | 1246 | ||
1247 | mov eax,[v_cur_x] |
1247 | mov eax,[v_cur_x] |
1248 | cmp eax,edx |
1248 | cmp eax,edx |
1249 | jge .end_f ;ªãàá®à § ¯à¥¤¥« ¬¨ ¯®«ï |
1249 | jge .end_f ;ªãàá®à § ¯à¥¤¥« ¬¨ ¯®«ï |
1250 | mov edi,[tile_size] |
1250 | mov edi,[tile_size] |
1251 | imul eax,edi |
1251 | imul eax,edi |
1252 | add eax,OT_MAP_X |
1252 | add eax,OT_MAP_X |
1253 | mov ebx,edx |
1253 | mov ebx,edx |
1254 | dec ebx |
1254 | dec ebx |
1255 | sub ebx,[v_cur_y] |
1255 | sub ebx,[v_cur_y] |
1256 | imul ebx,edi |
1256 | imul ebx,edi |
1257 | add ebx,OT_MAP_Y |
1257 | add ebx,OT_MAP_Y |
1258 | inc eax |
1258 | inc eax |
1259 | inc ebx |
1259 | inc ebx |
1260 | sub edi,2 |
1260 | sub edi,2 |
1261 | stdcall [buf2d_rect_by_size], buf_pl, eax,ebx, edi,edi,[sc.work_graph] |
1261 | stdcall [buf2d_rect_by_size], buf_pl, eax,ebx, edi,edi,[sc.work_graph] |
1262 | dec ebx |
1262 | dec ebx |
1263 | add edi,2 |
1263 | add edi,2 |
1264 | 1264 | ||
1265 | ;£®à¨§®â «ìë¥ «¨¨¨ |
1265 | ;£®à¨§®â «ìë¥ «¨¨¨ |
1266 | sub eax,2 |
1266 | sub eax,2 |
1267 | mov ecx,edi |
1267 | mov ecx,edi |
1268 | imul edi,edx |
1268 | imul edi,edx |
1269 | shr ecx,1 |
1269 | shr ecx,1 |
1270 | add ebx,ecx ;æ¥â஢ª ¯® á¥à¥¤¨¥ ª«¥âª¨ |
1270 | add ebx,ecx ;æ¥â஢ª ¯® á¥à¥¤¨¥ ª«¥âª¨ |
1271 | mov ecx,OT_MAP_X |
1271 | mov ecx,OT_MAP_X |
1272 | add edi,ecx |
1272 | add edi,ecx |
1273 | stdcall [buf2d_line], buf_pl, ecx,ebx, eax,ebx,[sc.work_graph] |
1273 | stdcall [buf2d_line], buf_pl, ecx,ebx, eax,ebx,[sc.work_graph] |
1274 | add eax,[tile_size] |
1274 | add eax,[tile_size] |
1275 | inc eax |
1275 | inc eax |
1276 | cmp eax,edi |
1276 | cmp eax,edi |
1277 | jge @f ;¥á«¨ ªãàá®à ªà î ¯®«ï |
1277 | jge @f ;¥á«¨ ªãàá®à ªà î ¯®«ï |
1278 | dec edi |
1278 | dec edi |
1279 | stdcall [buf2d_line], buf_pl, eax,ebx, edi,ebx,[sc.work_graph] |
1279 | stdcall [buf2d_line], buf_pl, eax,ebx, edi,ebx,[sc.work_graph] |
1280 | @@: |
1280 | @@: |
1281 | 1281 | ||
1282 | .end_f: |
1282 | .end_f: |
1283 | popad |
1283 | popad |
1284 | ret |
1284 | ret |
1285 | 1285 | ||
1286 | 1286 | ||
1287 | ;¤ ë¥ ¤«ï ¤¨ «®£ ®âªàëâ¨ï ä ©«®¢ |
1287 | ;¤ ë¥ ¤«ï ¤¨ «®£ ®âªàëâ¨ï ä ©«®¢ |
1288 | align 4 |
1288 | align 4 |
1289 | OpenDialog_data: |
1289 | OpenDialog_data: |
1290 | .type dd 0 ;0 - ®âªàëâì, 1 - á®åà ¨âì, 2 - ¢ë¡à âì ¤â४â®à¨î |
1290 | .type dd 0 ;0 - ®âªàëâì, 1 - á®åà ¨âì, 2 - ¢ë¡à âì ¤â४â®à¨î |
1291 | .procinfo dd procinfo ;+4 |
1291 | .procinfo dd procinfo ;+4 |
1292 | .com_area_name dd communication_area_name ;+8 |
1292 | .com_area_name dd communication_area_name ;+8 |
1293 | .com_area dd 0 ;+12 |
1293 | .com_area dd 0 ;+12 |
1294 | .opendir_path dd plugin_path ;+16 |
1294 | .opendir_path dd plugin_path ;+16 |
1295 | .dir_default_path dd default_dir ;+20 |
1295 | .dir_default_path dd default_dir ;+20 |
1296 | .start_path dd file_name ;+24 ¯ãâì ª ¤¨ «®£ã ®âªàëâ¨ï ä ©«®¢ |
1296 | .start_path dd file_name ;+24 ¯ãâì ª ¤¨ «®£ã ®âªàëâ¨ï ä ©«®¢ |
1297 | .draw_window dd draw_window ;+28 |
1297 | .draw_window dd draw_window ;+28 |
1298 | .status dd 0 ;+32 |
1298 | .status dd 0 ;+32 |
1299 | .openfile_path dd openfile_path ;+36 ¯ãâì ª ®âªàë¢ ¥¬®¬ã ä ©«ã |
1299 | .openfile_path dd openfile_path ;+36 ¯ãâì ª ®âªàë¢ ¥¬®¬ã ä ©«ã |
1300 | .filename_area dd filename_area ;+40 |
1300 | .filename_area dd filename_area ;+40 |
1301 | .filter_area dd Filter |
1301 | .filter_area dd Filter |
1302 | .x: |
1302 | .x: |
1303 | .x_size dw 420 ;+48 ; Window X size |
1303 | .x_size dw 420 ;+48 ; Window X size |
1304 | .x_start dw 10 ;+50 ; Window X position |
1304 | .x_start dw 10 ;+50 ; Window X position |
1305 | .y: |
1305 | .y: |
1306 | .y_size dw 320 ;+52 ; Window y size |
1306 | .y_size dw 320 ;+52 ; Window y size |
1307 | .y_start dw 10 ;+54 ; Window Y position |
1307 | .y_start dw 10 ;+54 ; Window Y position |
1308 | 1308 | ||
1309 | default_dir db '/rd/1',0 |
1309 | default_dir db '/sys',0 |
1310 | 1310 | ||
1311 | communication_area_name: |
1311 | communication_area_name: |
1312 | db 'FFFFFFFF_open_dialog',0 |
1312 | db 'FFFFFFFF_open_dialog',0 |
1313 | open_dialog_name: |
1313 | open_dialog_name: |
1314 | db 'opendial',0 |
1314 | db 'opendial',0 |
1315 | communication_area_default_path: |
1315 | communication_area_default_path: |
1316 | db '/rd/1/File managers/',0 |
1316 | db '/sys/File managers/',0 |
1317 | 1317 | ||
1318 | Filter: |
1318 | Filter: |
1319 | dd Filter.end - Filter ;.1 |
1319 | dd Filter.end - Filter ;.1 |
1320 | .1: |
1320 | .1: |
1321 | db 'VOX',0 |
1321 | db 'VOX',0 |
1322 | .end: |
1322 | .end: |
1323 | db 0 |
1323 | db 0 |
1324 | 1324 | ||
1325 | 1325 | ||
1326 | system_dir_0 db '/sys/lib/' |
1326 | system_dir_0 db '/sys/lib/' |
1327 | lib_name_0 db 'proc_lib.obj',0 |
1327 | lib_name_0 db 'proc_lib.obj',0 |
1328 | system_dir_1 db '/sys/lib/' |
1328 | system_dir_1 db '/sys/lib/' |
1329 | lib_name_1 db 'libimg.obj',0 |
1329 | lib_name_1 db 'libimg.obj',0 |
1330 | system_dir_2 db '/sys/lib/' |
1330 | system_dir_2 db '/sys/lib/' |
1331 | lib_name_2 db 'buf2d.obj',0 |
1331 | lib_name_2 db 'buf2d.obj',0 |
1332 | system_dir_3 db '/sys/lib/' |
1332 | system_dir_3 db '/sys/lib/' |
1333 | lib_name_3 db 'libini.obj',0 |
1333 | lib_name_3 db 'libini.obj',0 |
1334 | 1334 | ||
1335 | l_libs_start: |
1335 | l_libs_start: |
1336 | lib0 l_libs lib_name_0, file_name, system_dir_0, import_proclib |
1336 | lib0 l_libs lib_name_0, file_name, system_dir_0, import_proclib |
1337 | lib1 l_libs lib_name_1, file_name, system_dir_1, import_libimg |
1337 | lib1 l_libs lib_name_1, file_name, system_dir_1, import_libimg |
1338 | lib2 l_libs lib_name_2, file_name, system_dir_2, import_buf2d |
1338 | lib2 l_libs lib_name_2, file_name, system_dir_2, import_buf2d |
1339 | lib3 l_libs lib_name_3, file_name, system_dir_3, import_libini |
1339 | lib3 l_libs lib_name_3, file_name, system_dir_3, import_libini |
1340 | l_libs_end: |
1340 | l_libs_end: |
1341 | 1341 | ||
1342 | align 4 |
1342 | align 4 |
1343 | import_libimg: |
1343 | import_libimg: |
1344 | dd alib_init1 |
1344 | dd alib_init1 |
1345 | img_is_img dd aimg_is_img |
1345 | img_is_img dd aimg_is_img |
1346 | img_info dd aimg_info |
1346 | img_info dd aimg_info |
1347 | img_from_file dd aimg_from_file |
1347 | img_from_file dd aimg_from_file |
1348 | img_to_file dd aimg_to_file |
1348 | img_to_file dd aimg_to_file |
1349 | img_from_rgb dd aimg_from_rgb |
1349 | img_from_rgb dd aimg_from_rgb |
1350 | img_to_rgb dd aimg_to_rgb |
1350 | img_to_rgb dd aimg_to_rgb |
1351 | img_to_rgb2 dd aimg_to_rgb2 |
1351 | img_to_rgb2 dd aimg_to_rgb2 |
1352 | img_decode dd aimg_decode |
1352 | img_decode dd aimg_decode |
1353 | img_encode dd aimg_encode |
1353 | img_encode dd aimg_encode |
1354 | img_create dd aimg_create |
1354 | img_create dd aimg_create |
1355 | img_destroy dd aimg_destroy |
1355 | img_destroy dd aimg_destroy |
1356 | img_destroy_layer dd aimg_destroy_layer |
1356 | img_destroy_layer dd aimg_destroy_layer |
1357 | img_count dd aimg_count |
1357 | img_count dd aimg_count |
1358 | img_lock_bits dd aimg_lock_bits |
1358 | img_lock_bits dd aimg_lock_bits |
1359 | img_unlock_bits dd aimg_unlock_bits |
1359 | img_unlock_bits dd aimg_unlock_bits |
1360 | img_flip dd aimg_flip |
1360 | img_flip dd aimg_flip |
1361 | img_flip_layer dd aimg_flip_layer |
1361 | img_flip_layer dd aimg_flip_layer |
1362 | img_rotate dd aimg_rotate |
1362 | img_rotate dd aimg_rotate |
1363 | img_rotate_layer dd aimg_rotate_layer |
1363 | img_rotate_layer dd aimg_rotate_layer |
1364 | img_draw dd aimg_draw |
1364 | img_draw dd aimg_draw |
1365 | 1365 | ||
1366 | dd 0,0 |
1366 | dd 0,0 |
1367 | alib_init1 db 'lib_init',0 |
1367 | alib_init1 db 'lib_init',0 |
1368 | aimg_is_img db 'img_is_img',0 ;®¯à¥¤¥«ï¥â ¯® ¤ ë¬, ¬®¦¥â «¨ ¡¨¡«¨®â¥ª ᤥ« âì ¨§ ¨å ¨§®¡à ¦¥¨¥ |
1368 | aimg_is_img db 'img_is_img',0 ;®¯à¥¤¥«ï¥â ¯® ¤ ë¬, ¬®¦¥â «¨ ¡¨¡«¨®â¥ª ᤥ« âì ¨§ ¨å ¨§®¡à ¦¥¨¥ |
1369 | aimg_info db 'img_info',0 |
1369 | aimg_info db 'img_info',0 |
1370 | aimg_from_file db 'img_from_file',0 |
1370 | aimg_from_file db 'img_from_file',0 |
1371 | aimg_to_file db 'img_to_file',0 |
1371 | aimg_to_file db 'img_to_file',0 |
1372 | aimg_from_rgb db 'img_from_rgb',0 |
1372 | aimg_from_rgb db 'img_from_rgb',0 |
1373 | aimg_to_rgb db 'img_to_rgb',0 ;¯à¥®¡à §®¢ ¨¥ ¨§®¡à ¦¥¨ï ¢ ¤ ë¥ RGB |
1373 | aimg_to_rgb db 'img_to_rgb',0 ;¯à¥®¡à §®¢ ¨¥ ¨§®¡à ¦¥¨ï ¢ ¤ ë¥ RGB |
1374 | aimg_to_rgb2 db 'img_to_rgb2',0 |
1374 | aimg_to_rgb2 db 'img_to_rgb2',0 |
1375 | aimg_decode db 'img_decode',0 ; ¢â®¬ â¨ç¥áª¨ ®¯à¥¤¥«ï¥â ä®à¬ â £à ä¨ç¥áª¨å ¤ ëå |
1375 | aimg_decode db 'img_decode',0 ; ¢â®¬ â¨ç¥áª¨ ®¯à¥¤¥«ï¥â ä®à¬ â £à ä¨ç¥áª¨å ¤ ëå |
1376 | aimg_encode db 'img_encode',0 |
1376 | aimg_encode db 'img_encode',0 |
1377 | aimg_create db 'img_create',0 |
1377 | aimg_create db 'img_create',0 |
1378 | aimg_destroy db 'img_destroy',0 |
1378 | aimg_destroy db 'img_destroy',0 |
1379 | aimg_destroy_layer db 'img_destroy_layer',0 |
1379 | aimg_destroy_layer db 'img_destroy_layer',0 |
1380 | aimg_count db 'img_count',0 |
1380 | aimg_count db 'img_count',0 |
1381 | aimg_lock_bits db 'img_lock_bits',0 |
1381 | aimg_lock_bits db 'img_lock_bits',0 |
1382 | aimg_unlock_bits db 'img_unlock_bits',0 |
1382 | aimg_unlock_bits db 'img_unlock_bits',0 |
1383 | aimg_flip db 'img_flip',0 |
1383 | aimg_flip db 'img_flip',0 |
1384 | aimg_flip_layer db 'img_flip_layer',0 |
1384 | aimg_flip_layer db 'img_flip_layer',0 |
1385 | aimg_rotate db 'img_rotate',0 |
1385 | aimg_rotate db 'img_rotate',0 |
1386 | aimg_rotate_layer db 'img_rotate_layer',0 |
1386 | aimg_rotate_layer db 'img_rotate_layer',0 |
1387 | aimg_draw db 'img_draw',0 |
1387 | aimg_draw db 'img_draw',0 |
1388 | 1388 | ||
1389 | align 4 |
1389 | align 4 |
1390 | import_proclib: |
1390 | import_proclib: |
1391 | OpenDialog_Init dd aOpenDialog_Init |
1391 | OpenDialog_Init dd aOpenDialog_Init |
1392 | OpenDialog_Start dd aOpenDialog_Start |
1392 | OpenDialog_Start dd aOpenDialog_Start |
1393 | dd 0,0 |
1393 | dd 0,0 |
1394 | aOpenDialog_Init db 'OpenDialog_init',0 |
1394 | aOpenDialog_Init db 'OpenDialog_init',0 |
1395 | aOpenDialog_Start db 'OpenDialog_start',0 |
1395 | aOpenDialog_Start db 'OpenDialog_start',0 |
1396 | 1396 | ||
1397 | align 4 |
1397 | align 4 |
1398 | import_buf2d: |
1398 | import_buf2d: |
1399 | init dd sz_init |
1399 | init dd sz_init |
1400 | buf2d_create dd sz_buf2d_create |
1400 | buf2d_create dd sz_buf2d_create |
1401 | buf2d_create_f_img dd sz_buf2d_create_f_img |
1401 | buf2d_create_f_img dd sz_buf2d_create_f_img |
1402 | buf2d_clear dd sz_buf2d_clear |
1402 | buf2d_clear dd sz_buf2d_clear |
1403 | buf2d_draw dd sz_buf2d_draw |
1403 | buf2d_draw dd sz_buf2d_draw |
1404 | buf2d_delete dd sz_buf2d_delete |
1404 | buf2d_delete dd sz_buf2d_delete |
1405 | buf2d_line dd sz_buf2d_line |
1405 | buf2d_line dd sz_buf2d_line |
1406 | buf2d_rect_by_size dd sz_buf2d_rect_by_size |
1406 | buf2d_rect_by_size dd sz_buf2d_rect_by_size |
1407 | buf2d_filled_rect_by_size dd sz_buf2d_filled_rect_by_size |
1407 | buf2d_filled_rect_by_size dd sz_buf2d_filled_rect_by_size |
1408 | buf2d_circle dd sz_buf2d_circle |
1408 | buf2d_circle dd sz_buf2d_circle |
1409 | buf2d_img_hdiv2 dd sz_buf2d_img_hdiv2 |
1409 | buf2d_img_hdiv2 dd sz_buf2d_img_hdiv2 |
1410 | buf2d_img_wdiv2 dd sz_buf2d_img_wdiv2 |
1410 | buf2d_img_wdiv2 dd sz_buf2d_img_wdiv2 |
1411 | buf2d_conv_24_to_8 dd sz_buf2d_conv_24_to_8 |
1411 | buf2d_conv_24_to_8 dd sz_buf2d_conv_24_to_8 |
1412 | buf2d_conv_24_to_32 dd sz_buf2d_conv_24_to_32 |
1412 | buf2d_conv_24_to_32 dd sz_buf2d_conv_24_to_32 |
1413 | buf2d_bit_blt dd sz_buf2d_bit_blt |
1413 | buf2d_bit_blt dd sz_buf2d_bit_blt |
1414 | buf2d_bit_blt_transp dd sz_buf2d_bit_blt_transp |
1414 | buf2d_bit_blt_transp dd sz_buf2d_bit_blt_transp |
1415 | buf2d_bit_blt_alpha dd sz_buf2d_bit_blt_alpha |
1415 | buf2d_bit_blt_alpha dd sz_buf2d_bit_blt_alpha |
1416 | buf2d_curve_bezier dd sz_buf2d_curve_bezier |
1416 | buf2d_curve_bezier dd sz_buf2d_curve_bezier |
1417 | buf2d_convert_text_matrix dd sz_buf2d_convert_text_matrix |
1417 | buf2d_convert_text_matrix dd sz_buf2d_convert_text_matrix |
1418 | buf2d_draw_text dd sz_buf2d_draw_text |
1418 | buf2d_draw_text dd sz_buf2d_draw_text |
1419 | buf2d_crop_color dd sz_buf2d_crop_color |
1419 | buf2d_crop_color dd sz_buf2d_crop_color |
1420 | buf2d_offset_h dd sz_buf2d_offset_h |
1420 | buf2d_offset_h dd sz_buf2d_offset_h |
1421 | buf2d_flood_fill dd sz_buf2d_flood_fill |
1421 | buf2d_flood_fill dd sz_buf2d_flood_fill |
1422 | buf2d_set_pixel dd sz_buf2d_set_pixel |
1422 | buf2d_set_pixel dd sz_buf2d_set_pixel |
1423 | buf2d_get_pixel dd sz_buf2d_get_pixel |
1423 | buf2d_get_pixel dd sz_buf2d_get_pixel |
1424 | buf2d_vox_brush_create dd sz_buf2d_vox_brush_create |
1424 | buf2d_vox_brush_create dd sz_buf2d_vox_brush_create |
1425 | buf2d_vox_brush_delete dd sz_buf2d_vox_brush_delete |
1425 | buf2d_vox_brush_delete dd sz_buf2d_vox_brush_delete |
1426 | buf2d_vox_obj_get_img_w_3g dd sz_buf2d_vox_obj_get_img_w_3g |
1426 | buf2d_vox_obj_get_img_w_3g dd sz_buf2d_vox_obj_get_img_w_3g |
1427 | buf2d_vox_obj_get_img_h_3g dd sz_buf2d_vox_obj_get_img_h_3g |
1427 | buf2d_vox_obj_get_img_h_3g dd sz_buf2d_vox_obj_get_img_h_3g |
1428 | buf2d_vox_obj_draw_1g dd sz_buf2d_vox_obj_draw_1g |
1428 | buf2d_vox_obj_draw_1g dd sz_buf2d_vox_obj_draw_1g |
1429 | buf2d_vox_obj_draw_3g dd sz_buf2d_vox_obj_draw_3g |
1429 | buf2d_vox_obj_draw_3g dd sz_buf2d_vox_obj_draw_3g |
1430 | buf2d_vox_obj_draw_3g_scaled dd sz_buf2d_vox_obj_draw_3g_scaled |
1430 | buf2d_vox_obj_draw_3g_scaled dd sz_buf2d_vox_obj_draw_3g_scaled |
1431 | buf2d_vox_obj_draw_3g_shadows dd sz_buf2d_vox_obj_draw_3g_shadows |
1431 | buf2d_vox_obj_draw_3g_shadows dd sz_buf2d_vox_obj_draw_3g_shadows |
1432 | buf2d_vox_obj_draw_pl dd sz_buf2d_vox_obj_draw_pl |
1432 | buf2d_vox_obj_draw_pl dd sz_buf2d_vox_obj_draw_pl |
1433 | buf2d_vox_obj_draw_pl_scaled dd sz_buf2d_vox_obj_draw_pl_scaled |
1433 | buf2d_vox_obj_draw_pl_scaled dd sz_buf2d_vox_obj_draw_pl_scaled |
1434 | 1434 | ||
1435 | dd 0,0 |
1435 | dd 0,0 |
1436 | sz_init db 'lib_init',0 |
1436 | sz_init db 'lib_init',0 |
1437 | sz_buf2d_create db 'buf2d_create',0 |
1437 | sz_buf2d_create db 'buf2d_create',0 |
1438 | sz_buf2d_create_f_img db 'buf2d_create_f_img',0 |
1438 | sz_buf2d_create_f_img db 'buf2d_create_f_img',0 |
1439 | sz_buf2d_clear db 'buf2d_clear',0 |
1439 | sz_buf2d_clear db 'buf2d_clear',0 |
1440 | sz_buf2d_draw db 'buf2d_draw',0 |
1440 | sz_buf2d_draw db 'buf2d_draw',0 |
1441 | sz_buf2d_delete db 'buf2d_delete',0 |
1441 | sz_buf2d_delete db 'buf2d_delete',0 |
1442 | sz_buf2d_line db 'buf2d_line',0 |
1442 | sz_buf2d_line db 'buf2d_line',0 |
1443 | sz_buf2d_rect_by_size db 'buf2d_rect_by_size',0 |
1443 | sz_buf2d_rect_by_size db 'buf2d_rect_by_size',0 |
1444 | sz_buf2d_filled_rect_by_size db 'buf2d_filled_rect_by_size',0 |
1444 | sz_buf2d_filled_rect_by_size db 'buf2d_filled_rect_by_size',0 |
1445 | sz_buf2d_circle db 'buf2d_circle',0 |
1445 | sz_buf2d_circle db 'buf2d_circle',0 |
1446 | sz_buf2d_img_hdiv2 db 'buf2d_img_hdiv2',0 |
1446 | sz_buf2d_img_hdiv2 db 'buf2d_img_hdiv2',0 |
1447 | sz_buf2d_img_wdiv2 db 'buf2d_img_wdiv2',0 |
1447 | sz_buf2d_img_wdiv2 db 'buf2d_img_wdiv2',0 |
1448 | sz_buf2d_conv_24_to_8 db 'buf2d_conv_24_to_8',0 |
1448 | sz_buf2d_conv_24_to_8 db 'buf2d_conv_24_to_8',0 |
1449 | sz_buf2d_conv_24_to_32 db 'buf2d_conv_24_to_32',0 |
1449 | sz_buf2d_conv_24_to_32 db 'buf2d_conv_24_to_32',0 |
1450 | sz_buf2d_bit_blt db 'buf2d_bit_blt',0 |
1450 | sz_buf2d_bit_blt db 'buf2d_bit_blt',0 |
1451 | sz_buf2d_bit_blt_transp db 'buf2d_bit_blt_transp',0 |
1451 | sz_buf2d_bit_blt_transp db 'buf2d_bit_blt_transp',0 |
1452 | sz_buf2d_bit_blt_alpha db 'buf2d_bit_blt_alpha',0 |
1452 | sz_buf2d_bit_blt_alpha db 'buf2d_bit_blt_alpha',0 |
1453 | sz_buf2d_curve_bezier db 'buf2d_curve_bezier',0 |
1453 | sz_buf2d_curve_bezier db 'buf2d_curve_bezier',0 |
1454 | sz_buf2d_convert_text_matrix db 'buf2d_convert_text_matrix',0 |
1454 | sz_buf2d_convert_text_matrix db 'buf2d_convert_text_matrix',0 |
1455 | sz_buf2d_draw_text db 'buf2d_draw_text',0 |
1455 | sz_buf2d_draw_text db 'buf2d_draw_text',0 |
1456 | sz_buf2d_crop_color db 'buf2d_crop_color',0 |
1456 | sz_buf2d_crop_color db 'buf2d_crop_color',0 |
1457 | sz_buf2d_offset_h db 'buf2d_offset_h',0 |
1457 | sz_buf2d_offset_h db 'buf2d_offset_h',0 |
1458 | sz_buf2d_flood_fill db 'buf2d_flood_fill',0 |
1458 | sz_buf2d_flood_fill db 'buf2d_flood_fill',0 |
1459 | sz_buf2d_set_pixel db 'buf2d_set_pixel',0 |
1459 | sz_buf2d_set_pixel db 'buf2d_set_pixel',0 |
1460 | sz_buf2d_get_pixel db 'buf2d_get_pixel',0 |
1460 | sz_buf2d_get_pixel db 'buf2d_get_pixel',0 |
1461 | sz_buf2d_vox_brush_create db 'buf2d_vox_brush_create',0 |
1461 | sz_buf2d_vox_brush_create db 'buf2d_vox_brush_create',0 |
1462 | sz_buf2d_vox_brush_delete db 'buf2d_vox_brush_delete',0 |
1462 | sz_buf2d_vox_brush_delete db 'buf2d_vox_brush_delete',0 |
1463 | sz_buf2d_vox_obj_get_img_w_3g db 'buf2d_vox_obj_get_img_w_3g',0 |
1463 | sz_buf2d_vox_obj_get_img_w_3g db 'buf2d_vox_obj_get_img_w_3g',0 |
1464 | sz_buf2d_vox_obj_get_img_h_3g db 'buf2d_vox_obj_get_img_h_3g',0 |
1464 | sz_buf2d_vox_obj_get_img_h_3g db 'buf2d_vox_obj_get_img_h_3g',0 |
1465 | sz_buf2d_vox_obj_draw_1g db 'buf2d_vox_obj_draw_1g',0 |
1465 | sz_buf2d_vox_obj_draw_1g db 'buf2d_vox_obj_draw_1g',0 |
1466 | sz_buf2d_vox_obj_draw_3g db 'buf2d_vox_obj_draw_3g',0 |
1466 | sz_buf2d_vox_obj_draw_3g db 'buf2d_vox_obj_draw_3g',0 |
1467 | sz_buf2d_vox_obj_draw_3g_scaled db 'buf2d_vox_obj_draw_3g_scaled',0 |
1467 | sz_buf2d_vox_obj_draw_3g_scaled db 'buf2d_vox_obj_draw_3g_scaled',0 |
1468 | sz_buf2d_vox_obj_draw_3g_shadows db 'buf2d_vox_obj_draw_3g_shadows',0 |
1468 | sz_buf2d_vox_obj_draw_3g_shadows db 'buf2d_vox_obj_draw_3g_shadows',0 |
1469 | sz_buf2d_vox_obj_draw_pl db 'buf2d_vox_obj_draw_pl',0 |
1469 | sz_buf2d_vox_obj_draw_pl db 'buf2d_vox_obj_draw_pl',0 |
1470 | sz_buf2d_vox_obj_draw_pl_scaled db 'buf2d_vox_obj_draw_pl_scaled',0 |
1470 | sz_buf2d_vox_obj_draw_pl_scaled db 'buf2d_vox_obj_draw_pl_scaled',0 |
1471 | 1471 | ||
1472 | align 4 |
1472 | align 4 |
1473 | import_libini: |
1473 | import_libini: |
1474 | dd alib_init2 |
1474 | dd alib_init2 |
1475 | ini_get_str dd aini_get_str |
1475 | ini_get_str dd aini_get_str |
1476 | ini_get_int dd aini_get_int |
1476 | ini_get_int dd aini_get_int |
1477 | ini_get_color dd aini_get_color |
1477 | ini_get_color dd aini_get_color |
1478 | dd 0,0 |
1478 | dd 0,0 |
1479 | alib_init2 db 'lib_init',0 |
1479 | alib_init2 db 'lib_init',0 |
1480 | aini_get_str db 'ini_get_str',0 |
1480 | aini_get_str db 'ini_get_str',0 |
1481 | aini_get_int db 'ini_get_int',0 |
1481 | aini_get_int db 'ini_get_int',0 |
1482 | aini_get_color db 'ini_get_color',0 |
1482 | aini_get_color db 'ini_get_color',0 |
1483 | 1483 | ||
1484 | ;¡ãä¥à ®á®¢®£® ¨§®¡à ¦¥¨ï |
1484 | ;¡ãä¥à ®á®¢®£® ¨§®¡à ¦¥¨ï |
1485 | align 4 |
1485 | align 4 |
1486 | buf_0: dd 0 ;㪠§ â¥«ì ¤aë¥ ¨§®¡à ¦¥¨ï |
1486 | buf_0: dd 0 ;㪠§ â¥«ì ¤aë¥ ¨§®¡à ¦¥¨ï |
1487 | .l: dw 5 ;+4 left |
1487 | .l: dw 5 ;+4 left |
1488 | .t: dw 45 ;+6 top |
1488 | .t: dw 45 ;+6 top |
1489 | .w: dd 192+6 ;+8 w |
1489 | .w: dd 192+6 ;+8 w |
1490 | .h: dd 224+7 ;+12 h |
1490 | .h: dd 224+7 ;+12 h |
1491 | .color: dd 0xffffff ;+16 color |
1491 | .color: dd 0xffffff ;+16 color |
1492 | db 24 ;+20 bit in pixel |
1492 | db 24 ;+20 bit in pixel |
1493 | 1493 | ||
1494 | ;¡ãä¥à £«ã¡¨ë ®á®¢®£® ¨§®¡à ¦¥¨ï |
1494 | ;¡ãä¥à £«ã¡¨ë ®á®¢®£® ¨§®¡à ¦¥¨ï |
1495 | align 4 |
1495 | align 4 |
1496 | buf_0z: dd 0 |
1496 | buf_0z: dd 0 |
1497 | dw 0 ;+4 left |
1497 | dw 0 ;+4 left |
1498 | dw 0 ;+6 top |
1498 | dw 0 ;+6 top |
1499 | .w: dd 192+6 ;+8 w |
1499 | .w: dd 192+6 ;+8 w |
1500 | .h: dd 224+7 ;+12 h |
1500 | .h: dd 224+7 ;+12 h |
1501 | .color: dd 0 ;+16 color |
1501 | .color: dd 0 ;+16 color |
1502 | db 32 ;+20 bit in pixel |
1502 | db 32 ;+20 bit in pixel |
1503 | 1503 | ||
1504 | ;¡ãä¥à ¤«ï à¨á®¢ ¨ï á१ ®¡ê¥ªâ |
1504 | ;¡ãä¥à ¤«ï à¨á®¢ ¨ï á१ ®¡ê¥ªâ |
1505 | align 4 |
1505 | align 4 |
1506 | buf_pl: dd 0 |
1506 | buf_pl: dd 0 |
1507 | .l: dw 15+192+6 ;+4 left |
1507 | .l: dw 15+192+6 ;+4 left |
1508 | .t: dw 45 ;+6 top |
1508 | .t: dw 45 ;+6 top |
1509 | .w: dd 320 ;+8 w |
1509 | .w: dd 320 ;+8 w |
1510 | .h: dd 330 ;+12 h |
1510 | .h: dd 330 ;+12 h |
1511 | .color: dd 0xffffff ;+16 color |
1511 | .color: dd 0xffffff ;+16 color |
1512 | db 24 ;+20 bit in pixel |
1512 | db 24 ;+20 bit in pixel |
1513 | 1513 | ||
1514 | ;¡ãä¥à ¤«ï ã«ãç襮£® ।¥à |
1514 | ;¡ãä¥à ¤«ï ã«ãç襮£® ।¥à |
1515 | align 4 |
1515 | align 4 |
1516 | buf_r_img: |
1516 | buf_r_img: |
1517 | rb BUF_STRUCT_SIZE |
1517 | rb BUF_STRUCT_SIZE |
1518 | align 4 |
1518 | align 4 |
1519 | buf_r_z: |
1519 | buf_r_z: |
1520 | rb BUF_STRUCT_SIZE |
1520 | rb BUF_STRUCT_SIZE |
1521 | 1521 | ||
1522 | align 4 |
1522 | align 4 |
1523 | cursor_pointer dd 0 ;㪠§ â¥«ì ¤ ë¥ ¤«ï ªãàá®à |
1523 | cursor_pointer dd 0 ;㪠§ â¥«ì ¤ ë¥ ¤«ï ªãàá®à |
1524 | 1524 | ||
1525 | 1525 | ||
1526 | ;¤ ë¥ ¤«ï ᮧ¤ ¨ï ¬¨¨¬ «ì®£® ¥¤¨¨ç®£® ¢®ªá¥«ï |
1526 | ;¤ ë¥ ¤«ï ᮧ¤ ¨ï ¬¨¨¬ «ì®£® ¥¤¨¨ç®£® ¢®ªá¥«ï |
1527 | align 4 |
1527 | align 4 |
1528 | vox_6_7_z: |
1528 | vox_6_7_z: |
1529 | dd 0,0,1,1,0,0,\ |
1529 | dd 0,0,1,1,0,0,\ |
1530 | 0,2,2,2,2,0,\ |
1530 | 0,2,2,2,2,0,\ |
1531 | 2,2,2,2,2,2,\ |
1531 | 2,2,2,2,2,2,\ |
1532 | 2,3,2,2,3,2,\ |
1532 | 2,3,2,2,3,2,\ |
1533 | 2,3,3,3,3,2,\ |
1533 | 2,3,3,3,3,2,\ |
1534 | 0,3,3,3,3,0,\ |
1534 | 0,3,3,3,3,0,\ |
1535 | 0,0,3,3,0,0 |
1535 | 0,0,3,3,0,0 |
1536 | 1536 | ||
1537 | align 4 |
1537 | align 4 |
1538 | buf_vox: |
1538 | buf_vox: |
1539 | db 6,7,4,3 ;w,h,h_osn,n |
1539 | db 6,7,4,3 ;w,h,h_osn,n |
1540 | rb BUF_STRUCT_SIZE*(3+1) |
1540 | rb BUF_STRUCT_SIZE*(3+1) |
1541 | 1541 | ||
1542 | align 16 |
1542 | align 16 |
1543 | i_end: |
1543 | i_end: |
1544 | procinfo process_information |
1544 | procinfo process_information |
1545 | sc system_colors |
1545 | sc system_colors |
1546 | run_file_70 FileInfoBlock |
1546 | run_file_70 FileInfoBlock |
1547 | mouse_dd dd ? |
1547 | mouse_dd dd ? |
1548 | wnd_s_pos: ;¬¥áâ® ¤«ï áâ஥ª áâ à⮢®© ¯®§¨æ¨¨ ®ª |
1548 | wnd_s_pos: ;¬¥áâ® ¤«ï áâ஥ª áâ à⮢®© ¯®§¨æ¨¨ ®ª |
1549 | rq 0 |
1549 | rq 0 |
1550 | rb 4096 ;2048 |
1550 | rb 4096 ;2048 |
1551 | stacktop: |
1551 | stacktop: |
1552 | sys_path rb 1024 |
1552 | sys_path rb 1024 |
1553 | file_name rb 2048 ;4096 |
1553 | file_name rb 2048 ;4096 |
1554 | plugin_path rb 1024 ;4096 |
1554 | plugin_path rb 1024 ;4096 |
1555 | openfile_path rb 1024 ;4096 |
1555 | openfile_path rb 1024 ;4096 |
1556 | filename_area rb 256 |
1556 | filename_area rb 256 |
1557 | mem: |
1557 | mem: |