Subversion Repositories Kolibri OS

Rev

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

Rev 3175 Rev 5911
Line 61... Line 61...
61
;       get_parent_tiles (横«¨ç¥áª¨© ¯à®á¬®âà த¨â¥«ì᪨å â ©«®¢)
61
;       get_parent_tiles (横«¨ç¥áª¨© ¯à®á¬®âà த¨â¥«ì᪨å â ©«®¢)
62
;               get_tile_path
62
;               get_tile_path
63
;               load_new_tile (¢¥àå­ïï ª à⨭ª )
63
;               load_new_tile (¢¥àå­ïï ª à⨭ª )
Line 64... Line -...
64
 
-
 
-
 
64
 
65
 
65
 
66
;???
66
;¯¥à¥¤¢¨£ ¥¬ ª®®à¤¨­ âã ªãàá®à  ¢¯à ¢®
67
align 4
67
align 4
68
CursorMoveRight: ;¯¥à¥¤¢¨£ ¥¬ ª®®à¤¨­ âã ªãàá®à  ¢¯à ¢®
68
CursorMoveRight:
69
  push ebx ecx
69
  push ebx ecx
70
  xor ebx,ebx
70
  xor ebx,ebx
71
  xor ecx,ecx
71
  xor ecx,ecx
Line 85... Line 85...
85
    call but_Refresh
85
    call but_Refresh
86
  .no_move:
86
  .no_move:
87
  pop ecx ebx
87
  pop ecx ebx
88
  ret
88
  ret
Line 89... Line -...
89
 
-
 
-
 
89
 
90
;???
90
;¯¥à¥¤¢¨£ ¥¬ ª®®à¤¨­ âã ªãàá®à  ¢­¨§
91
align 4
91
align 4
92
CursorMoveDown: ;¯¥à¥¤¢¨£ ¥¬ ª®®à¤¨­ âã ªãàá®à  ¢­¨§
92
CursorMoveDown:
93
  push ebx ecx
93
  push ebx ecx
94
  xor ebx,ebx
94
  xor ebx,ebx
95
  xor ecx,ecx
95
  xor ecx,ecx
96
  mov cl,byte[map.zoom]
96
  mov cl,byte[map.zoom]
Line 109... Line 109...
109
    call but_Refresh
109
    call but_Refresh
110
  .no_move:
110
  .no_move:
111
  pop ecx ebx
111
  pop ecx ebx
112
  ret
112
  ret
Line 113... Line -...
113
 
-
 
-
 
113
 
114
;???
114
;¯¥à¥¬¥é¥­¨¥ ¬¥âª¨ ¢¢¥àå, ¯® ᯨáªã
115
align 4
115
align 4
116
but_met_up: ;¯¥à¥¬¥é¥­¨¥ ¬¥âª¨ ¢¢¥àå, ¯® ᯨáªã
116
but_met_up:
117
  stdcall dword[tl_node_move_up], tree2
117
  stdcall dword[tl_node_move_up], tree2
Line 118... Line -...
118
  ret
-
 
-
 
118
  ret
119
 
119
 
120
;???
120
;¯¥à¥¬¥é¥­¨¥ ¬¥âª¨ ¢­¨§, ¯® ᯨáªã?
121
align 4
121
align 4
122
but_met_dn: ;¯¥à¥¬¥é¥­¨¥ ¬¥âª¨ ¢­¨§, ¯® ᯨáªã
122
but_met_dn:
Line 123... Line -...
123
  stdcall dword[tl_node_move_down], tree2
-
 
-
 
123
  stdcall dword[tl_node_move_down], tree2
124
  ret
124
  ret
125
 
125
 
126
;???
126
;¬¥­ï¥¬ à áè¨à¥­¨¥ ¤«ï ª àâë
127
align 4
127
align 4
128
fun_new_map_type: ;¬¥­ï¥¬ à áè¨à¥­¨¥ ¤«ï ª àâë
-
 
129
  push eax
128
fun_new_map_type:
130
    stdcall dword[tl_node_get_data], tree1
129
  push eax
131
    pop eax
130
    stdcall dword[tl_node_get_data], tree1
132
    cmp eax,0
131
    cmp eax,0
133
    je @f
132
    je @f
134
      mov dword[txt_tile_type],eax
133
      mov dword[txt_tile_type],eax
Line 135... Line 134...
135
    @@:
134
    @@:
136
  pop eax
135
  pop eax
137
  ret
136
  ret
138
 
-
 
139
;§ ¤ ¥¬ à á¯®«®¦¥­¨¥ â ©«®¢ ¯® á¥âª¥
137
 
140
align 4
138
;§ ¤ ¥¬ à á¯®«®¦¥­¨¥ â ©«®¢ ¯® á¥âª¥
141
proc tiles_init_grid, beg_tiles:dword, count:dword, cols:dword
139
align 4
142
  push eax ebx ecx edx edi
140
proc tiles_init_grid uses eax ebx ecx edx edi, beg_tiles:dword, count:dword, cols:dword
143
  xor eax,eax
141
  xor eax,eax
Line 154... Line 152...
154
    jl .old_lin
152
    jl .old_lin
155
      xor eax,eax
153
      xor eax,eax
156
      inc bx
154
      inc bx
157
    .old_lin:
155
    .old_lin:
158
    loop @b
156
    loop @b
159
  pop edi edx ecx ebx eax
-
 
160
  ret
157
  ret
161
endp
158
endp
Line 162... Line 159...
162
 
159
 
163
;ᤢ¨£ ¥¬ á¥âªã ¢«¥¢®, ¢ë«¥§è¨¥ á⮫¡æë ¡ã¤ãâ ¯¥à¥ª¨­ãâë ­  ¯à ¢ãî áâ®à®­ã
160
;ᤢ¨£ ¥¬ á¥âªã ¢«¥¢®, ¢ë«¥§è¨¥ á⮫¡æë ¡ã¤ãâ ¯¥à¥ª¨­ãâë ­  ¯à ¢ãî áâ®à®­ã
164
;äã­ªæ¨ï ­ã¦­  ¤«ï ®¯â¨¬¨§ æ¨¨ ®¡à é¥­¨ï ª ¤¨áªã, ¯à¨ ¤¢¨¦¥­¨¨ ªãàá®à  ¬ë ¤¢¨£ ¥¬
161
;äã­ªæ¨ï ­ã¦­  ¤«ï ®¯â¨¬¨§ æ¨¨ ®¡à é¥­¨ï ª ¤¨áªã, ¯à¨ ¤¢¨¦¥­¨¨ ªãàá®à  ¬ë ¤¢¨£ ¥¬
165
;â ©«ë ¢ ¯à®â¨¢®¯®«®¦­ãî áâ®à®­ã, ¢ १ã«ìâ â¥ ª®®à¤¨­ âë ¡®«ì設á⢠ â ©«®¢ ­¥ ¬¥­ïîâáï
162
;â ©«ë ¢ ¯à®â¨¢®¯®«®¦­ãî áâ®à®­ã, ¢ १ã«ìâ â¥ ª®®à¤¨­ âë ¡®«ì設á⢠ â ©«®¢ ­¥ ¬¥­ïîâáï
166
;  §­ ç¨â ¯à®£à ¬¬  ­¥ ¡ã¤¥â ¯¥à¥ç¨â뢠âì ¨å § ­®¢®, 祬 ¨ ¤®á⨣ ¥âáï ®¯â¨¬¨§ æ¨ï
163
;  §­ ç¨â ¯à®£à ¬¬  ­¥ ¡ã¤¥â ¯¥à¥ç¨â뢠âì ¨å § ­®¢®, 祬 ¨ ¤®á⨣ ¥âáï ®¯â¨¬¨§ æ¨ï
167
align 4
164
align 4
168
proc tiles_grid_move_left, beg_tiles:dword, count:dword, cols:dword
-
 
169
  push eax ebx ecx edx edi
165
proc tiles_grid_move_left uses eax ebx ecx edx edi, beg_tiles:dword, count:dword, cols:dword
170
  xor eax,eax
166
  xor eax,eax
171
  xor ebx,ebx
167
  xor ebx,ebx
172
  mov edi,[beg_tiles]
168
  mov edi,[beg_tiles]
173
  mov ecx,[count]
169
  mov ecx,[count]
Line 178... Line 174...
178
      add tile_delta_x,dl ;¥á«¨ á⮫¡¥æ = 0, â® ¤®¡ ¢«ï¥¬ 'cols' çâ®-¡ë ­¥ ¢ë« §¨« ¢«¥¢®
174
      add tile_delta_x,dl ;¥á«¨ á⮫¡¥æ = 0, â® ¤®¡ ¢«ï¥¬ 'cols' çâ®-¡ë ­¥ ¢ë« §¨« ¢«¥¢®
179
    .no_jump:
175
    .no_jump:
180
    dec tile_delta_x
176
    dec tile_delta_x
181
    add edi,size_tile_struc
177
    add edi,size_tile_struc
182
    loop @b
178
    loop @b
183
  pop edi edx ecx ebx eax
-
 
184
  ret
179
  ret
185
endp
180
endp
Line 186... Line 181...
186
 
181
 
187
;ᤢ¨£ ¥¬ á¥âªã ¢¯à ¢®, ¢ë«¥§è¨¥ á⮫¡æë ¡ã¤ãâ ¯¥à¥ª¨­ãâë ­  «¥¢ãî áâ®à®­ã
182
;ᤢ¨£ ¥¬ á¥âªã ¢¯à ¢®, ¢ë«¥§è¨¥ á⮫¡æë ¡ã¤ãâ ¯¥à¥ª¨­ãâë ­  «¥¢ãî áâ®à®­ã
188
;¤¥« ¥â ⮦¥ çâ® ¨ tiles_grid_move_left ⮫쪮 ¤¢¨£ ¥â ª®®à¤¨­ âë ¢ ¤àã£ãî áâ®à®­ã
183
;¤¥« ¥â ⮦¥ çâ® ¨ tiles_grid_move_left ⮫쪮 ¤¢¨£ ¥â ª®®à¤¨­ âë ¢ ¤àã£ãî áâ®à®­ã
189
align 4
184
align 4
190
proc tiles_grid_move_right, beg_tiles:dword, count:dword, cols:dword
-
 
191
  push eax ebx ecx edx edi
185
proc tiles_grid_move_right uses eax ebx ecx edx edi, beg_tiles:dword, count:dword, cols:dword
192
  xor eax,eax
186
  xor eax,eax
193
  xor ebx,ebx
187
  xor ebx,ebx
194
  mov edi,[beg_tiles]
188
  mov edi,[beg_tiles]
195
  mov ecx,[count]
189
  mov ecx,[count]
Line 200... Line 194...
200
    jl .no_jump
194
    jl .no_jump
201
      mov tile_delta_x,0 ;¥á«¨ á⮫¡¥æ = 'cols', â® áâ ¢¨¬ ¥¬ã 0 çâ®-¡ë ­¥ ¢ë« §¨« ¢¯à ¢®
195
      mov tile_delta_x,0 ;¥á«¨ á⮫¡¥æ = 'cols', â® áâ ¢¨¬ ¥¬ã 0 çâ®-¡ë ­¥ ¢ë« §¨« ¢¯à ¢®
202
    .no_jump:
196
    .no_jump:
203
    add edi,size_tile_struc
197
    add edi,size_tile_struc
204
    loop @b
198
    loop @b
205
  pop edi edx ecx ebx eax
-
 
206
  ret
199
  ret
207
endp
200
endp
Line 208... Line 201...
208
 
201
 
209
align 4
202
align 4
210
proc tiles_grid_move_up, beg_tiles:dword, count:dword, rows:dword
-
 
211
  push eax ebx ecx edx edi
203
proc tiles_grid_move_up uses eax ebx ecx edx edi, beg_tiles:dword, count:dword, rows:dword
212
  xor eax,eax
204
  xor eax,eax
213
  xor ebx,ebx
205
  xor ebx,ebx
214
  mov edi,[beg_tiles]
206
  mov edi,[beg_tiles]
215
  mov ecx,[count]
207
  mov ecx,[count]
Line 220... Line 212...
220
      add tile_delta_y,dl ;¥á«¨ áâப  = 0, â® ¤®¡ ¢«ï¥¬ 'rows' çâ®-¡ë ­¥ ¢ë« §¨«  ¢­¨§
212
      add tile_delta_y,dl ;¥á«¨ áâப  = 0, â® ¤®¡ ¢«ï¥¬ 'rows' çâ®-¡ë ­¥ ¢ë« §¨«  ¢­¨§
221
    .no_jump:
213
    .no_jump:
222
    dec tile_delta_y
214
    dec tile_delta_y
223
    add edi,size_tile_struc
215
    add edi,size_tile_struc
224
    loop @b
216
    loop @b
225
  pop edi edx ecx ebx eax
-
 
226
  ret
217
  ret
227
endp
218
endp
Line 228... Line 219...
228
 
219
 
229
align 4
220
align 4
230
proc tiles_grid_move_down, beg_tiles:dword, count:dword, rows:dword
-
 
231
  push eax ebx ecx edx edi
221
proc tiles_grid_move_down uses eax ebx ecx edx edi, beg_tiles:dword, count:dword, rows:dword
232
  xor eax,eax
222
  xor eax,eax
233
  xor ebx,ebx
223
  xor ebx,ebx
234
  mov edi,[beg_tiles]
224
  mov edi,[beg_tiles]
235
  mov ecx,[count]
225
  mov ecx,[count]
Line 240... Line 230...
240
    jl .no_jump
230
    jl .no_jump
241
      mov tile_delta_y,0 ;¥á«¨ áâப  = 'rows', â® áâ ¢¨¬ ¥© 0 çâ®-¡ë ­¥ ¢ë« §¨«  ¢¢¥àå
231
      mov tile_delta_y,0 ;¥á«¨ áâப  = 'rows', â® áâ ¢¨¬ ¥© 0 çâ®-¡ë ­¥ ¢ë« §¨«  ¢¢¥àå
242
    .no_jump:
232
    .no_jump:
243
    add edi,size_tile_struc
233
    add edi,size_tile_struc
244
    loop @b
234
    loop @b
245
  pop edi edx ecx ebx eax
-
 
246
  ret
235
  ret
247
endp
236
endp
Line 248... Line 237...
248
 
237
 
249
align 4
238
align 4
250
proc array_tile_function, beg_tiles:dword, count:dword, funct:dword
-
 
251
  push ecx edi
239
proc array_tile_function uses ecx edi, beg_tiles:dword, count:dword, funct:dword
252
  mov edi,[beg_tiles]
240
  mov edi,[beg_tiles]
253
  mov ecx,[count]
241
  mov ecx,[count]
254
  @@:
242
  @@:
255
    stdcall [funct],edi
243
    stdcall [funct],edi
256
    add edi,size_tile_struc
244
    add edi,size_tile_struc
257
    loop @b
-
 
258
  pop edi ecx
245
    loop @b
259
  ret
246
  ret
Line 260... Line 247...
260
endp
247
endp
261
 
248
 
262
align 4
249
align 4
263
draw_tiles:
-
 
264
pushad
-
 
265
  mov eax,47
-
 
266
  mov ebx,0x20000
250
draw_tiles:
267
  xor ecx,ecx
-
 
268
  mov cl,byte[map.zoom]
251
pushad
269
  mov edx,128*65536+13
252
  movzx ecx,byte[map.zoom]
270
  mov esi,[sc.work_text]
253
  mov esi,[sc.work_text]
271
  or  esi,0x40000000
254
  or  esi,0x40000000
Line 272... Line 255...
272
  mov edi,[sc.work]
255
  mov edi,[sc.work]
273
  int 0x40
256
  mcall 47,0x20000,, (128 shl 16)+13
274
 
257
 
Line 464... Line 447...
464
    shr dword[map.coord_y],1
447
    shr dword[map.coord_y],1
465
    call but_Refresh
448
    call but_Refresh
466
  @@:
449
  @@:
467
  ret
450
  ret
Line 468... Line -...
468
 
-
 
-
 
451
 
469
;???
452
;á®åà ­¥­¨¥ ä ©«  á ¬¥âª ¬¨
470
align 4
453
align 4
471
but_MetSave: ;á®åà ­¥­¨¥ ä ©«  á ¬¥âª ¬¨
454
but_MetSave:
Line -... Line 455...
-
 
455
	stdcall dword[tl_save_mem], tree2,0,[bmp_icon],TREE_ICON_SYS16_BMP_SIZE
472
  stdcall dword[tl_save_mem], TREE_ICON_SYS16_BMP_SIZE,[bmp_icon],0,tree2
456
 
473
 
457
	copy_path fn_metki,sys_path,file_name,0
-
 
458
	push eax ebx ecx edi
Line 474... Line -...
474
  push eax ebx ecx edi
-
 
475
    copy_path fn_metki,sys_path,file_name,0x0
-
 
476
 
-
 
477
    stdcall dword[tl_get_mem_size], [bmp_icon],tree2
-
 
478
    pop ecx
-
 
479
    inc ecx ;¤«ï § ¯¨á¨ ¢ ä ©« § ¢¥àè î饣® ­ã«ï
459
		stdcall dword[tl_get_mem_size], tree2,[bmp_icon]
480
 
460
		inc eax ;¤«ï § ¯¨á¨ ¢ ä ©« § ¢¥àè î饣® ­ã«ï
481
    mov eax,70
461
 
482
    m2m [run_file_70.Buffer], [bmp_icon]
462
		m2m [run_file_70.Buffer], [bmp_icon]
483
    mov [run_file_70.Function], 2
463
		mov [run_file_70.Function], 2
484
    mov [run_file_70.Position], 0
464
		mov [run_file_70.Position], 0
485
    mov [run_file_70.Flags], 0
465
		mov [run_file_70.Flags], 0
486
    mov [run_file_70.Count], ecx
466
		mov [run_file_70.Count], eax
487
    mov byte[run_file_70+20], 0
-
 
488
    mov [run_file_70.FileName], file_name
467
		mov byte[run_file_70+20], 0
489
    mov ebx,run_file_70
468
		mov [run_file_70.FileName], file_name
Line 490... Line -...
490
    int 0x40
-
 
-
 
469
		mcall 70,run_file_70
491
  pop edi ecx ebx eax
470
	pop edi ecx ebx eax
492
  jmp still
471
	jmp still
493
 
472
 
494
;???
473
;áç¨â뢠¥¬ ä ©« á ¬¥âª ¬¨
-
 
474
align 4
495
align 4
475
but_MetLoad:
496
but_MetLoad: ;áç¨â뢠¥¬ ä ©« á ¬¥âª ¬¨
476
	cmp byte[met_fr_opn],0
497
  cmp byte[met_fr_opn],0
-
 
498
  jne .end_f
-
 
499
  pushad
477
	jne .end_f
500
    mov byte[met_fr_opn],1
478
	copy_path fn_metki,sys_path,file_name,0
501
    copy_path fn_metki,sys_path,file_name,0x0
479
	pushad
502
    mov eax,70 ;load icon file
480
		mov byte[met_fr_opn],1
503
    mov [run_file_70.Function], 0
481
		mov [run_file_70.Function], 0
504
    mov [run_file_70.Position], 0
482
		mov [run_file_70.Position], 0
505
    mov [run_file_70.Flags], 0
483
		mov [run_file_70.Flags], 0
506
    mov [run_file_70.Count], TREE_ICON_SYS16_BMP_SIZE
-
 
507
    mov byte[run_file_70+20], 0
484
		mov [run_file_70.Count], TREE_ICON_SYS16_BMP_SIZE
508
    mov [run_file_70.FileName], file_name
-
 
509
    m2m [run_file_70.Buffer], [bmp_icon]
485
		mov byte[run_file_70+20], 0
510
    mov eax,70
486
		mov [run_file_70.FileName], file_name
511
    mov ebx,run_file_70
487
		m2m [run_file_70.Buffer], [bmp_icon]
512
    int 0x40
488
		mcall 70,run_file_70
513
    cmp ebx,0xffffffff
489
		cmp ebx,0xffffffff
514
    je @f
-
 
515
      stdcall [tl_load_mem], TREE_ICON_SYS16_BMP_SIZE,dword[bmp_icon],0,tree2
490
		je @f
516
      stdcall [tl_cur_beg], tree2 ;?
491
			stdcall [tl_load_mem], tree2,0,[bmp_icon],TREE_ICON_SYS16_BMP_SIZE
517
      stdcall [tl_draw], tree2 ;?
492
			stdcall [tl_cur_beg], tree2
518
      pop eax
493
			stdcall [tl_draw], tree2
519
    @@:
494
		@@:
Line 520... Line 495...
520
    mov byte[file_name],0 ;clear file name
495
		mov byte[file_name],0 ;clear file name
521
  popad
496
	popad
522
  .end_f:
497
	.end_f:
523
  ret
498
	ret
524
 
499
 
525
;???
500
;¤®¡ ¢«¥­¨¥ ¬¥âª¨
526
align 4
501
align 4
527
but_MetAdd: ;¤®¡ ¢«¥­¨¥ ¬¥âª¨
502
but_MetAdd:
528
  push eax
503
  push eax
529
    mov eax,dword[bmp_icon]
504
    mov eax,dword[bmp_icon]
530
    m2m dword[eax],  dword[map.coord_x]
505
    m2m dword[eax],  dword[map.coord_x]
531
    m2m dword[eax+4],dword[map.coord_y]
506
    m2m dword[eax+4],dword[map.coord_y]
532
    m2m  word[eax+8], word[map.zoom]
507
    m2m  word[eax+8], word[map.zoom]
533
    add eax,12
508
    add eax,12
Line 534... Line -...
534
    stdcall dword[str_copy], eax,30,dword[edit2.text],30
-
 
-
 
509
    stdcall dword[str_copy], eax,30,dword[edit2.text],30
535
    stdcall dword[tl_node_add], dword[bmp_icon], 0, tree2
510
    stdcall dword[tl_node_add], tree2, 0, dword[bmp_icon] 
536
    stdcall dword[tl_draw], tree2
511
    stdcall dword[tl_draw], tree2
537
  pop eax
512
  pop eax
538
  jmp still
513
  jmp still
539
 
-
 
540
;???
514
 
541
align 4
515
;¯¥à¥å®¤ ª ¢ë¡à ­­®© ¬¥âª¥
542
fun_goto_met: ;¯¥à¥å®¤ ª ¢ë¡à ­­®© ¬¥âª¥
516
align 4
543
  push eax
517
fun_goto_met:
544
  stdcall dword[tl_node_get_data], tree2
518
	push eax
Line 561... Line 535...
561
  stdcall array_tile_function, tile_00,max_tiles_count,load_tile
535
  stdcall array_tile_function, tile_00,max_tiles_count,load_tile
562
  stdcall draw_tiles
536
  stdcall draw_tiles
563
  ret
537
  ret
Line 564... Line 538...
564
 
538
 
565
align 4
539
align 4
566
proc tile_init, tile:dword
-
 
567
  push eax edi
540
proc tile_init uses eax edi, tile:dword
568
    mov edi,[tile]
-
 
569
 
541
	mov edi,[tile]
570
    push dword RGB_TILE_SIZE+300
-
 
571
    call mem.Alloc
542
	stdcall mem.Alloc, RGB_TILE_SIZE+300
572
    mov tile_rgb_icon,eax
-
 
573
 
543
	mov tile_rgb_icon,eax
574
    push dword RGB_TILE_SIZE
-
 
575
    call mem.Alloc
544
	stdcall mem.Alloc, RGB_TILE_SIZE
576
    mov tile_drobn_icon,eax
-
 
577
  pop edi eax
545
	mov tile_drobn_icon,eax
578
  ret
546
	ret
Line 579... Line 547...
579
endp
547
endp
580
 
548
 
581
align 4
-
 
582
proc tile_destroy, tile:dword
549
align 4
583
  push edi
550
proc tile_destroy uses edi, tile:dword
584
    mov edi,[tile]
-
 
585
    push tile_rgb_icon
551
	mov edi,[tile]
586
    call mem.Free
-
 
587
    push tile_drobn_icon
-
 
588
    call mem.Free
552
	stdcall mem.Free,tile_rgb_icon
589
  pop edi
553
	stdcall mem.Free,tile_drobn_icon
Line 590... Line -...
590
  ret
-
 
591
endp
554
	ret
592
 
555
endp
593
 
556
 
594
;???
557
 
Line 595... Line 558...
595
align 4 ;§ £à㦠¥â â ©«ë, ¢ ®¯à¥¤¥«¥­­®© ®¡« áâ¨
558
;§ £à㦠¥â â ©«ë, ¢ ®¯à¥¤¥«¥­­®© ®¡« áâ¨
596
proc load_tile, tile:dword
559
align 4
597
  push eax ebx ecx edi
560
proc load_tile uses eax ebx ecx edi, tile:dword
Line 746... Line 709...
746
      cmp ecx,5 ;5 - ®£à ­¨ç¥­¨¥ ­  á⥯¥­ì à áâ¢ ­¨ï ª à⨭ª¨
709
      cmp ecx,5 ;5 - ®£à ­¨ç¥­¨¥ ­  á⥯¥­ì à áâ¢ ­¨ï ª à⨭ª¨
747
      je @f
710
      je @f
748
      jmp .zoom
711
      jmp .zoom
749
    @@:
712
    @@:
Line 750... Line -...
750
 
-
 
751
  pop edi ecx ebx eax
713
 
752
  ret
714
  ret
Line 753... Line 715...
753
endp
715
endp
754
 
716
 
Line 796... Line 758...
796
;tile - 㪠§ â¥«ì ­  áâàãªâãàã â ©« 
758
;tile - 㪠§ â¥«ì ­  áâàãªâãàã â ©« 
797
align 4 ;§ £à㦠¥â ®¯à¥¤¥«¥­­ë© â ©«
759
align 4 ;§ £à㦠¥â ®¯à¥¤¥«¥­­ë© â ©«
798
proc load_new_tile, tile:dword
760
proc load_new_tile, tile:dword
799
  pushad
761
  pushad
Line 800... Line -...
800
 
-
 
801
  mov eax,70 ;load icon file
762
 
802
  mov [run_file_70.Function], 0
763
  mov [run_file_70.Function], 0
803
  mov [run_file_70.Position], 0
764
  mov [run_file_70.Position], 0
804
  mov [run_file_70.Flags], 0
765
  mov [run_file_70.Flags], 0
805
  mov [run_file_70.Count], RGB_TILE_SIZE+300 ;+54
766
  mov [run_file_70.Count], RGB_TILE_SIZE+300 ;+54
806
  m2m [run_file_70.Buffer], [bmp_icon]
767
  m2m [run_file_70.Buffer], [bmp_icon]
807
  mov byte[run_file_70+20], 0
768
  mov byte[run_file_70+20], 0
808
  mov [run_file_70.FileName], file_name
769
  mov [run_file_70.FileName], file_name
809
  mov ebx,run_file_70
-
 
810
  int 0x40
770
  mcall 70,run_file_70
811
  mov edi,[tile]
771
  mov edi,[tile]
812
;  cmp ebx,0xffffffff
772
;  cmp ebx,0xffffffff
813
;  je .no_load
773
;  je .no_load
814
  cmp al,6 ;®è¨¡ª  6 - ª®£¤  ä ©« § ª®­ç¨«áï à ­ìè¥ ç¥¬ ¡ãä¥à
774
  cmp al,6 ;®è¨¡ª  6 - ª®£¤  ä ©« § ª®­ç¨«áï à ­ìè¥ ç¥¬ ¡ãä¥à
Line 842... Line 802...
842
  ret
802
  ret
843
endp
803
endp
Line 844... Line 804...
844
 
804
 
845
;äã­ªæ¨ï £¥­¥à¨àã¥â ç áâì ¯ã⨠ª ä ©«ã ¢ ¢¨¤¥: \z?\?\x?\?\y?
805
;äã­ªæ¨ï £¥­¥à¨àã¥â ç áâì ¯ã⨠ª ä ©«ã ¢ ¢¨¤¥: \z?\?\x?\?\y?
846
align 4
806
align 4
847
proc get_tile_path, tile:dword
-
 
848
  push eax ecx edi esi
807
proc get_tile_path uses eax ecx edi esi, tile:dword
849
    mov ecx,300
808
    mov ecx,300
850
    mov edi,txt_tile_path
809
    mov edi,txt_tile_path
851
    @@:
810
    @@:
852
      mov byte[edi],0 ;ç¨á⨬ áâபã
811
      mov byte[edi],0 ;ç¨á⨬ áâபã
Line 867... Line 826...
867
    mov byte[txt_tile_path],'z'
826
    mov byte[txt_tile_path],'z'
868
    mov edi,txt_tile_path
827
    mov edi,txt_tile_path
869
    inc edi
828
    inc edi
870
    xor eax,eax
829
    xor eax,eax
871
    mov al,byte[esi+8] ;+8 = zoom
830
    mov al,byte[esi+8] ;+8 = zoom
872
    call tl_convert_to_str
831
    stdcall convert_int_to_str, 300
Line 873... Line 832...
873
 
832
 
874
    inc edi
833
    inc edi
875
    cmp byte[esi+8],9 ;+8 = zoom
834
    cmp byte[esi+8],9 ;+8 = zoom
876
    jle @f
835
    jle @f
Line 881... Line 840...
881
 
840
 
882
    mov eax,[esi] ;coord_x
841
    mov eax,[esi] ;coord_x
883
cmp eax,ecx
842
cmp eax,ecx
884
jge .out_of_rang ;coord_x ¡®«ìè¥ ¤®¯ãá⨬®£® §­ ç¥­¨ï ¯à¨ § ¤ ­­®¬ ¬ áèâ ¡¥
843
jge .out_of_rang ;coord_x ¡®«ìè¥ ¤®¯ãá⨬®£® §­ ç¥­¨ï ¯à¨ § ¤ ­­®¬ ¬ áèâ ¡¥
885
    shr eax,10
844
    shr eax,10
Line 886... Line 845...
886
    call tl_convert_to_str
845
    stdcall convert_int_to_str, 300
887
 
846
 
888
    @@:
847
    @@:
889
      inc edi
848
      inc edi
Line 893... Line 852...
893
    inc edi
852
    inc edi
894
    mov byte[edi],'x'
853
    mov byte[edi],'x'
895
    inc edi
854
    inc edi
Line 896... Line 855...
896
 
855
 
897
    mov eax,[esi] ;coord_x
856
    mov eax,[esi] ;coord_x
Line 898... Line 857...
898
    call tl_convert_to_str
857
    stdcall convert_int_to_str, 300
899
 
858
 
900
    @@:
859
    @@:
901
      inc edi
860
      inc edi
Line 912... Line 871...
912
 
871
 
913
    mov eax,[esi+4] ;coord_y
872
    mov eax,[esi+4] ;coord_y
914
cmp eax,ecx
873
cmp eax,ecx
915
jge .out_of_rang ;coord_y ¡®«ìè¥ ¤®¯ãá⨬®£® §­ ç¥­¨ï ¯à¨ § ¤ ­­®¬ ¬ áèâ ¡¥
874
jge .out_of_rang ;coord_y ¡®«ìè¥ ¤®¯ãá⨬®£® §­ ç¥­¨ï ¯à¨ § ¤ ­­®¬ ¬ áèâ ¡¥
916
    shr eax,10
875
    shr eax,10
Line 917... Line 876...
917
    call tl_convert_to_str
876
    stdcall convert_int_to_str, 300
918
 
877
 
919
    @@:
878
    @@:
920
      inc edi
879
      inc edi
Line 924... Line 883...
924
    inc edi
883
    inc edi
925
    mov byte[edi],'y'
884
    mov byte[edi],'y'
926
    inc edi
885
    inc edi
Line 927... Line 886...
927
 
886
 
928
    mov eax,[esi+4] ;coord_y]
887
    mov eax,[esi+4] ;coord_y]
Line 929... Line 888...
929
    call tl_convert_to_str
888
    stdcall convert_int_to_str, 300
930
 
889
 
931
.out_of_rang:
-
 
932
    call get_all_path
890
.out_of_rang:
933
  pop esi edi ecx eax
891
    call get_all_path
Line 934... Line 892...
934
  ret
892
  ret
935
endp
893
endp