Rev 1004 | Rev 1040 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1004 | Rev 1016 | ||
---|---|---|---|
Line 23... | Line 23... | ||
23 | 23 | ||
24 | stdcall dll.Load, @IMPORT |
24 | stdcall dll.Load, @IMPORT |
25 | or eax, eax |
25 | or eax, eax |
Line -... | Line 26... | ||
- | 26 | jnz exit |
|
- | 27 | ||
26 | jnz exit |
28 | invoke sort.START, 1 |
27 | 29 | ||
28 | mov ecx, 1 ; for 15.4: 1 = tile |
30 | mov ecx, 1 ; for 15.4: 1 = tile |
29 | cmp word [@PARAMS], '\T' |
31 | cmp word [@PARAMS], '\T' |
30 | jz set_bgr |
32 | jz set_bgr |
Line 46... | Line 48... | ||
46 | 48 | ||
47 | set_bgr: |
49 | set_bgr: |
48 | mcall 15, 4 |
50 | mcall 15, 4 |
49 | mov eax, @PARAMS + 4 |
51 | mov eax, @PARAMS + 4 |
50 | call load_image |
52 | call load_image |
51 | jc exit_bgr |
- | |
52 | - | ||
53 | mov esi, [image] |
- | |
54 | mov ecx, [esi + Image.Width] |
- | |
55 | mov edx, [esi + Image.Height] |
- | |
56 | mcall 15, 1 |
- | |
57 | - | ||
58 | mcall 15, 6 |
- | |
59 | test eax, eax |
- | |
60 | jz exit_bgr |
- | |
61 | - | ||
62 | push eax |
- | |
63 | invoke img.to_rgb2, esi, eax |
- | |
64 | pop ecx |
- | |
Line 65... | Line -... | ||
65 | mcall 15, 7 |
- | |
66 | 53 | jc exit |
|
67 | exit_bgr: |
54 | |
Line 68... | Line 55... | ||
68 | mcall 15, 3 |
55 | call set_as_bgr |
Line 69... | Line 56... | ||
69 | jmp exit |
56 | jmp exit |
Line 146... | Line 133... | ||
146 | jc .restore_old |
133 | jc .restore_old |
147 | mov esi, path |
134 | mov esi, path |
148 | mov edi, @PARAMS |
135 | mov edi, @PARAMS |
149 | mov ecx, 512/4 |
136 | mov ecx, 512/4 |
150 | rep movsd |
137 | rep movsd |
151 | invoke img.destroy |
- | |
152 | mov byte [edi-1], 0 |
138 | mov byte [edi-1], 0 |
- | 139 | invoke img.destroy |
|
- | 140 | call free_directory |
|
153 | jmp red |
141 | jmp red |
154 | .restore_old: |
142 | .restore_old: |
155 | pop [image] |
143 | pop [image] |
156 | jmp still |
144 | jmp still |
Line -... | Line 145... | ||
- | 145 | ||
- | 146 | ; set background |
|
- | 147 | @@: |
|
- | 148 | cmp eax, 'bgr' |
|
- | 149 | jne @f |
|
- | 150 | ||
- | 151 | call set_as_bgr |
|
- | 152 | jmp still |
|
- | 153 | ||
- | 154 | @@: |
|
- | 155 | ||
- | 156 | cmp eax, 'bck' |
|
- | 157 | jnz @f |
|
- | 158 | call prev_image |
|
- | 159 | jmp still |
|
- | 160 | @@: |
|
- | 161 | cmp eax, 'fwd' |
|
- | 162 | jnz @f |
|
- | 163 | call next_image |
|
- | 164 | jmp still |
|
- | 165 | @@: |
|
157 | 166 | ||
158 | @@: cmp eax, 1 |
167 | cmp eax, 1 |
Line 159... | Line 168... | ||
159 | jne still |
168 | jne still |
160 | 169 | ||
Line 223... | Line 232... | ||
223 | 232 | ||
224 | update_image_sizes: |
233 | update_image_sizes: |
225 | pushf |
234 | pushf |
226 | mov edx, [eax + Image.Width] |
235 | mov edx, [eax + Image.Width] |
227 | add edx, 19 |
236 | add edx, 19 |
228 | cmp edx, 50 + 25*5 |
237 | cmp edx, 40 + 25*9 |
229 | jae @f |
238 | jae @f |
230 | mov edx, 50 + 25*5 |
239 | mov edx, 40 + 25*9 |
231 | @@: |
240 | @@: |
232 | mov [wnd_width], edx |
241 | mov [wnd_width], edx |
233 | mov esi, [eax + Image.Height] |
242 | mov esi, [eax + Image.Height] |
234 | add esi, 44 |
243 | add esi, 44 |
Line 239... | Line 248... | ||
239 | add esi, eax |
248 | add esi, eax |
240 | mcall 67,-1,-1 |
249 | mcall 67,-1,-1 |
241 | .no_resize: |
250 | .no_resize: |
242 | ret |
251 | ret |
Line -... | Line 252... | ||
- | 252 | ||
- | 253 | set_as_bgr: |
|
- | 254 | mov esi, [image] |
|
- | 255 | mov ecx, [esi + Image.Width] |
|
- | 256 | mov edx, [esi + Image.Height] |
|
- | 257 | mcall 15, 1 |
|
- | 258 | ||
- | 259 | mcall 15, 6 |
|
- | 260 | test eax, eax |
|
- | 261 | jz @f |
|
- | 262 | ||
- | 263 | push eax |
|
- | 264 | invoke img.to_rgb2, esi, eax |
|
- | 265 | pop ecx |
|
- | 266 | mcall 15, 7 |
|
- | 267 | ||
- | 268 | @@: |
|
- | 269 | mcall 15, 3 |
|
- | 270 | ret |
|
243 | 271 | ||
- | 272 | prev_image: |
|
- | 273 | call load_directory |
|
- | 274 | cmp [directory_ptr], 0 |
|
- | 275 | jz .ret |
|
- | 276 | mov ebx, [directory_ptr] |
|
- | 277 | mov eax, [cur_file_idx] |
|
- | 278 | cmp eax, -1 |
|
- | 279 | jnz @f |
|
- | 280 | mov eax, [ebx+4] |
|
- | 281 | @@: |
|
- | 282 | push [image] |
|
- | 283 | .scanloop: |
|
- | 284 | dec eax |
|
- | 285 | jns @f |
|
- | 286 | mov eax, [ebx+4] |
|
- | 287 | dec eax |
|
- | 288 | cmp [cur_file_idx], -1 |
|
- | 289 | jz .notfound |
|
- | 290 | @@: |
|
- | 291 | cmp eax, [cur_file_idx] |
|
- | 292 | jz .notfound |
|
- | 293 | push eax |
|
- | 294 | imul esi, eax, 304 |
|
- | 295 | add esi, [directory_ptr] |
|
- | 296 | add esi, 32 + 40 |
|
- | 297 | mov edi, curdir |
|
- | 298 | @@: |
|
- | 299 | inc edi |
|
- | 300 | cmp byte [edi-1], 0 |
|
- | 301 | jnz @b |
|
- | 302 | mov byte [edi-1], '/' |
|
- | 303 | @@: |
|
- | 304 | lodsb |
|
- | 305 | stosb |
|
- | 306 | test al, al |
|
- | 307 | jnz @b |
|
- | 308 | mov eax, curdir |
|
- | 309 | call load_image |
|
- | 310 | pop eax |
|
- | 311 | jc .scanloop |
|
- | 312 | mov [cur_file_idx], eax |
|
- | 313 | invoke img.destroy |
|
- | 314 | mov esi, curdir |
|
- | 315 | mov edi, @PARAMS |
|
- | 316 | mov ecx, 512/4 |
|
- | 317 | rep movsd |
|
- | 318 | mov byte [edi-1], 0 |
|
- | 319 | .ret: |
|
- | 320 | ret |
|
- | 321 | .notfound: |
|
- | 322 | pop [image] |
|
- | 323 | ret |
|
- | 324 | ||
- | 325 | next_image: |
|
- | 326 | call load_directory |
|
- | 327 | cmp [directory_ptr], 0 |
|
- | 328 | jz .ret |
|
- | 329 | mov ebx, [directory_ptr] |
|
- | 330 | mov eax, [cur_file_idx] |
|
- | 331 | push [image] |
|
- | 332 | .scanloop: |
|
- | 333 | inc eax |
|
- | 334 | cmp eax, [ebx+4] |
|
- | 335 | jb @f |
|
- | 336 | xor eax, eax |
|
- | 337 | cmp [cur_file_idx], -1 |
|
- | 338 | jz .notfound |
|
- | 339 | @@: |
|
- | 340 | cmp eax, [cur_file_idx] |
|
- | 341 | jz .notfound |
|
- | 342 | push eax ebx |
|
- | 343 | imul esi, eax, 304 |
|
- | 344 | add esi, [directory_ptr] |
|
- | 345 | add esi, 32 + 40 |
|
- | 346 | mov edi, curdir |
|
- | 347 | @@: |
|
- | 348 | inc edi |
|
- | 349 | cmp byte [edi-1], 0 |
|
- | 350 | jnz @b |
|
- | 351 | mov byte [edi-1], '/' |
|
- | 352 | @@: |
|
- | 353 | lodsb |
|
- | 354 | stosb |
|
- | 355 | test al, al |
|
- | 356 | jnz @b |
|
- | 357 | mov eax, curdir |
|
- | 358 | call load_image |
|
- | 359 | pop ebx eax |
|
- | 360 | jc .scanloop |
|
244 | draw_window: |
361 | mov [cur_file_idx], eax |
- | 362 | invoke img.destroy |
|
- | 363 | mov esi, curdir |
|
- | 364 | push esi |
|
- | 365 | mov edi, @PARAMS |
|
- | 366 | mov ecx, 512/4 |
|
- | 367 | rep movsd |
|
- | 368 | mov byte [edi-1], 0 |
|
- | 369 | pop esi |
|
- | 370 | @@: |
|
- | 371 | lodsb |
|
- | 372 | test al, al |
|
- | 373 | jnz @b |
|
- | 374 | @@: |
|
- | 375 | dec esi |
|
- | 376 | cmp byte [esi], '/' |
|
- | 377 | jnz @b |
|
- | 378 | mov byte [esi], 0 |
|
- | 379 | .ret: |
|
- | 380 | ret |
|
- | 381 | .notfound: |
|
- | 382 | pop [image] |
|
- | 383 | ret |
|
- | 384 | ||
- | 385 | load_directory: |
|
- | 386 | cmp [directory_ptr], 0 |
|
- | 387 | jnz .ret |
|
- | 388 | mov esi, @PARAMS |
|
- | 389 | mov ecx, esi |
|
- | 390 | @@: |
|
- | 391 | lodsb |
|
- | 392 | test al, al |
|
- | 393 | jnz @b |
|
- | 394 | @@: |
|
- | 395 | dec esi |
|
- | 396 | cmp byte [esi], '/' |
|
- | 397 | jnz @b |
|
- | 398 | mov [last_name_component], esi |
|
- | 399 | sub esi, ecx |
|
- | 400 | xchg ecx, esi |
|
- | 401 | mov edi, curdir |
|
- | 402 | rep movsb |
|
- | 403 | mov byte [edi], 0 |
|
- | 404 | mcall 68, 12, 0x1000 |
|
- | 405 | test eax, eax |
|
- | 406 | jz .ret |
|
- | 407 | mov ebx, readdir_fileinfo |
|
- | 408 | mov dword [ebx+12], (0x1000 - 32) / 304 |
|
- | 409 | mov dword [ebx+16], eax |
|
- | 410 | mcall 70 |
|
- | 411 | cmp eax, 6 |
|
- | 412 | jz .dirok |
|
- | 413 | test eax, eax |
|
- | 414 | jnz free_directory |
|
- | 415 | mov edx, [directory_ptr] |
|
- | 416 | mov ecx, [edx+8] |
|
- | 417 | mov [readblocks], ecx |
|
- | 418 | imul ecx, 304 |
|
- | 419 | add ecx, 32 |
|
- | 420 | mcall 68, 20 |
|
- | 421 | test eax, eax |
|
- | 422 | jz free_directory |
|
- | 423 | mov [directory_ptr], eax |
|
- | 424 | mcall 70, readdir_fileinfo |
|
- | 425 | .dirok: |
|
- | 426 | cmp ebx, 0 |
|
- | 427 | jle free_directory |
|
- | 428 | mov eax, [directory_ptr] |
|
- | 429 | add eax, 32 |
|
- | 430 | mov edi, eax |
|
- | 431 | push 0 |
|
- | 432 | .dirskip: |
|
- | 433 | push eax |
|
- | 434 | test byte [eax], 18h |
|
- | 435 | jnz .nocopy |
|
- | 436 | lea esi, [eax+40] |
|
- | 437 | mov ecx, esi |
|
- | 438 | @@: |
|
- | 439 | lodsb |
|
- | 440 | test al, al |
|
- | 441 | jnz @b |
|
- | 442 | @@: |
|
- | 443 | dec esi |
|
- | 444 | cmp esi, ecx |
|
- | 445 | jb .noext |
|
- | 446 | cmp byte [esi], '.' |
|
- | 447 | jnz @b |
|
- | 448 | inc esi |
|
- | 449 | mov ecx, [esi] |
|
- | 450 | or ecx, 0x202020 |
|
- | 451 | cmp ecx, 'jpg' |
|
- | 452 | jz .copy |
|
- | 453 | cmp ecx, 'bmp' |
|
- | 454 | jz .copy |
|
- | 455 | cmp ecx, 'gif' |
|
- | 456 | jz .copy |
|
- | 457 | cmp ecx, 'png' |
|
- | 458 | jz .copy |
|
- | 459 | cmp ecx, 'jpe' |
|
- | 460 | jz .copy |
|
- | 461 | cmp ecx, 'jpeg' |
|
- | 462 | jz @f |
|
- | 463 | cmp ecx, 'jpeG' |
|
- | 464 | jnz .nocopy |
|
- | 465 | @@: |
|
- | 466 | cmp byte [esi+4], 0 |
|
- | 467 | jnz .nocopy |
|
- | 468 | .copy: |
|
- | 469 | mov esi, [esp] |
|
- | 470 | mov ecx, 304 / 4 |
|
- | 471 | rep movsd |
|
- | 472 | inc dword [esp+4] |
|
- | 473 | .nocopy: |
|
- | 474 | .noext: |
|
- | 475 | pop eax |
|
- | 476 | add eax, 304 |
|
- | 477 | dec ebx |
|
- | 478 | jnz .dirskip |
|
- | 479 | mov eax, [directory_ptr] |
|
245 | invoke gfx.open, TRUE |
480 | pop ebx |
- | 481 | mov [eax+4], ebx |
|
- | 482 | test ebx, ebx |
|
- | 483 | jz free_directory |
|
- | 484 | push 0 ; sort mode |
|
- | 485 | push ebx |
|
- | 486 | add eax, 32 |
|
- | 487 | push eax |
|
- | 488 | call [SortDir] |
|
- | 489 | xor eax, eax |
|
- | 490 | mov edi, [directory_ptr] |
|
- | 491 | add edi, 32 + 40 |
|
- | 492 | .scan: |
|
- | 493 | mov esi, [last_name_component] |
|
- | 494 | inc esi |
|
- | 495 | push edi |
|
- | 496 | invoke strcmpi |
|
- | 497 | pop edi |
|
- | 498 | jz .found |
|
- | 499 | inc eax |
|
- | 500 | add edi, 304 |
|
- | 501 | dec ebx |
|
- | 502 | jnz .scan |
|
- | 503 | or eax, -1 |
|
- | 504 | .found: |
|
- | 505 | mov [cur_file_idx], eax |
|
- | 506 | .ret: |
|
- | 507 | ret |
|
- | 508 | ||
- | 509 | free_directory: |
|
- | 510 | mcall 68, 13, [directory_ptr] |
|
- | 511 | and [directory_ptr], 0 |
|
Line -... | Line 512... | ||
- | 512 | ret |
|
246 | mov [ctx], eax |
513 | |
247 | 514 | draw_window: |
|
248 | mcall 48, 4 |
515 | mcall 48, 4 |
249 | mov ebp, eax ; save skin height |
516 | mov ebp, eax ; save skin height |
250 | add eax, [wnd_height] |
517 | add eax, [wnd_height] |
251 | __mov ebx, 100, 0 |
518 | __mov ebx, 100, 0 |
252 | add ebx, [wnd_width] |
519 | add ebx, [wnd_width] |
Line 253... | Line 520... | ||
253 | lea ecx, [100*65536 + eax] |
520 | lea ecx, [100*65536 + eax] |
Line 254... | Line 521... | ||
254 | mcall 0, , , 0x73FFFFFF, , s_header |
521 | mcall 0, , , 0x73FFFFFF, , s_header |
255 | 522 | ||
256 | mcall 9, procinfo, -1 |
523 | mcall 9, procinfo, -1 |
257 | 524 | ||
258 | mov ebx, [procinfo + 42] |
- | |
259 | sub ebx, 9 |
525 | mov ebx, [procinfo + 62] |
260 | mcall 13, , <0, 35>, 0xFFFFFF |
526 | inc ebx |
261 | mov ecx, [procinfo + 46] |
527 | mcall 13, , <0, 35>, 0xFFFFFF |
262 | sub ecx, ebp |
528 | mov ecx, [procinfo + 66] |
263 | sub ecx, 9 |
529 | sub ecx, 4 |
264 | shl ecx, 16 |
530 | shl ecx, 16 |
Line 282... | Line 548... | ||
282 | sub ebx, esi |
548 | sub ebx, esi |
283 | shl ebx, 16 |
549 | shl ebx, 16 |
284 | add ebx, esi |
550 | add ebx, esi |
285 | mcall |
551 | mcall |
Line 286... | Line -... | ||
286 | - | ||
287 | invoke gfx.pen.color, [ctx], 0x007F7F7F |
552 | |
288 | mov eax, [procinfo + 42] |
553 | mov ebx, [procinfo + 62] |
- | 554 | push ebx |
|
- | 555 | mcall 38, , <30, 30>, 0x007F7F7F |
|
289 | sub eax, 10 |
556 | mcall , <5 + 25 * 1, 5 + 25 * 1>, <0, 30> |
- | 557 | mcall , <10 + 25 * 3, 10 + 25 * 3> |
|
290 | invoke gfx.line, [ctx], 0, 30, eax, 30 |
558 | mcall , <15 + 25 * 4, 15 + 25 * 4> |
- | 559 | pop ebx |
|
- | 560 | sub ebx, 25 * 5 + 10 |
|
291 | 561 | push ebx |
|
- | 562 | imul ebx, 10001h |
|
Line 292... | Line 563... | ||
292 | xor ebp, ebp |
563 | mcall |
293 | 564 | ||
294 | mcall 8, <5 + 25 * 0, 20>, <5, 20>, 'opn'+40000000h |
- | |
295 | mcall 65, openbtn, <20, 20>, <5 + 25 * 0, 5>, 4, palette |
565 | mcall 8, <5 + 25 * 0, 20>, <5, 20>, 'opn'+40000000h |
296 | - | ||
297 | invoke gfx.line, [ctx], 5 + 25 * 1, 0, 5 + 25 * 1, 30 |
566 | mcall , <10 + 25 * 1, 20>, , 'bck'+40000000h |
- | 567 | mcall , <10 + 25 * 2, 20>, , 'fwd'+40000000h |
|
- | 568 | mcall , <15 + 25 * 3, 20>, , 'bgr'+40000000h |
|
- | 569 | pop ebx |
|
- | 570 | add ebx, 5 |
|
298 | 571 | shl ebx, 16 |
|
- | 572 | mov bl, 20 |
|
299 | mcall 8, <10 + 25 * 1, 20>, <5, 20>, 'flh'+40000000h |
573 | mcall , , , 'flh'+40000000h |
- | 574 | add ebx, 25 * 65536 |
|
- | 575 | mcall , , , 'flv'+40000000h |
|
- | 576 | add ebx, 30 * 65536 |
|
- | 577 | mcall , , , 'rtr'+40000000h |
|
- | 578 | add ebx, 25 * 65536 |
|
300 | mcall 65, fliphorzbtn, <20, 20>, <10 + 25 * 1, 5>, 4, palette |
579 | mcall , , , 'rtl'+40000000h |
301 | mcall 8, <10 + 25 * 2, 20>, <5, 20>, 'flv'+40000000h |
580 | add ebx, 25 * 65536 |
302 | mcall 65, flipvertbtn, <20, 20>, <10 + 25 * 2, 5>, 4, palette |
581 | mcall , , , 'flb'+40000000h |
303 | 582 | ||
304 | invoke gfx.line, [ctx], 10 + 25 * 3, 0, 10 + 25 * 3, 30 |
583 | mov ebp, (numimages-1)*20 |
305 | 584 | ||
306 | mcall 8, <15 + 25 * 3, 20>, <5, 20>, 'rtr'+40000000h |
585 | mcall 65, buttons+openbtn*20, <20, 20>, <5 + 25 * 0, 5>, 8, palette |
307 | mcall 65, rotcwbtn, <20, 20>, <15 + 25 * 3, 5>, 4, palette |
586 | mcall , buttons+backbtn*20, , <10 + 25 * 1, 5> |
- | 587 | mcall , buttons+forwardbtn*20, , <10 + 25 * 2, 5> |
|
- | 588 | mcall , buttons+bgrbtn*20, , <15 + 25 * 3, 5> |
|
- | 589 | mov edx, [procinfo + 62] |
|
- | 590 | sub edx, 25 * 5 + 4 |
|
308 | mcall 8, <15 + 25 * 4, 20>, <5, 20>, 'rtl'+40000000h |
591 | shl edx, 16 |
- | 592 | mov dl, 5 |
|
309 | mcall 65, rotccwbtn, <20, 20>, <15 + 25 * 4, 5>, 4, palette |
593 | mcall , buttons+fliphorzbtn*20 |
- | 594 | add edx, 25 * 65536 |
|
- | 595 | mcall , buttons+flipvertbtn*20 |
|
- | 596 | add edx, 30 * 65536 |
|
- | 597 | mcall , buttons+rotcwbtn*20 |
|
- | 598 | add edx, 25 * 65536 |
|
- | 599 | mcall , buttons+rotccwbtn*20 |
|
Line 310... | Line 600... | ||
310 | mcall 8, <15 + 25 * 5, 20>, <5, 20>, 'flb'+40000000h |
600 | add edx, 25 * 65536 |
311 | mcall 65, rot180btn, <20, 20>, <15 + 25 * 5, 5>, 4, palette |
601 | mcall , buttons+rot180btn*20 |
312 | 602 | ||
313 | mov ebx, [image] |
603 | mov ebx, [image] |
Line 326... | Line 616... | ||
326 | mov edi, [ebx + Image.Palette] |
616 | mov edi, [ebx + Image.Palette] |
327 | mov ebx, [ebx + Image.Data] |
617 | mov ebx, [ebx + Image.Data] |
328 | xor ebp, ebp |
618 | xor ebp, ebp |
329 | mcall 65 |
619 | mcall 65 |
Line 330... | Line -... | ||
330 | - | ||
331 | invoke gfx.close, [ctx] |
620 | |
Line 332... | Line 621... | ||
332 | ret |
621 | ret |
333 | 622 | ||
334 | ; void* __stdcall mem.Alloc(unsigned size); |
623 | ; void* __stdcall mem.Alloc(unsigned size); |
Line 561... | Line 850... | ||
561 | @IMPORT: |
850 | @IMPORT: |
Line 562... | Line 851... | ||
562 | 851 | ||
563 | library \ |
852 | library \ |
564 | libio , 'libio.obj' , \ |
853 | libio , 'libio.obj' , \ |
565 | libgfx , 'libgfx.obj' , \ |
854 | libgfx , 'libgfx.obj' , \ |
- | 855 | libimg , 'libimg.obj' , \ |
|
Line 566... | Line 856... | ||
566 | libimg , 'libimg.obj' |
856 | sort , 'sort.obj' |
567 | 857 | ||
568 | import libio , \ |
858 | import libio , \ |
569 | libio.init , 'lib_init' , \ |
859 | libio.init , 'lib_init' , \ |
Line 586... | Line 876... | ||
586 | img.decode , 'img.decode' , \ |
876 | img.decode , 'img.decode' , \ |
587 | img.flip , 'img.flip' , \ |
877 | img.flip , 'img.flip' , \ |
588 | img.rotate , 'img.rotate' , \ |
878 | img.rotate , 'img.rotate' , \ |
589 | img.destroy , 'img.destroy' |
879 | img.destroy , 'img.destroy' |
Line -... | Line 880... | ||
- | 880 | ||
- | 881 | import sort, sort.START, 'START', SortDir, 'SortDir', strcmpi, 'strcmpi' |
|
590 | 882 | ||
Line -... | Line 883... | ||
- | 883 | ;----------------------------------------------------------------------------- |
|
- | 884 | ||
- | 885 | virtual at 0 |
|
- | 886 | file 'kivicons.bmp':0xA,4 |
|
- | 887 | load offbits dword from 0 |
|
- | 888 | end virtual |
|
- | 889 | numimages = 9 |
|
- | 890 | openbtn = 0 |
|
- | 891 | backbtn = 1 |
|
- | 892 | forwardbtn = 2 |
|
- | 893 | bgrbtn = 3 |
|
- | 894 | fliphorzbtn = 4 |
|
- | 895 | flipvertbtn = 5 |
|
- | 896 | rotcwbtn = 6 |
|
- | 897 | rotccwbtn = 7 |
|
591 | ;----------------------------------------------------------------------------- |
898 | rot180btn = 8 |
592 | - | ||
593 | palette: |
- | |
594 | dd 0x000000, 0x800000, 0x008000, 0x808000 |
899 | |
595 | dd 0x000080, 0x800080, 0x008080, 0x808080 |
- | |
596 | dd 0xC0C0C0, 0xFF0000, 0x00FF00, 0xFFFF00 |
- | |
597 | dd 0x0000FF, 0xFF00FF, 0x00FFFF, 0xFFFFFF |
- | |
598 | - | ||
599 | macro loadbtn filename |
900 | palette: |
600 | { |
901 | file 'kivicons.bmp':0x36,offbits-0x36 |
601 | repeat 20 |
- | |
602 | file filename:76h+(%-1)*12,10 |
902 | buttons: |
603 | end repeat |
903 | file 'kivicons.bmp':offbits |
604 | repeat 10 |
904 | repeat 10 |
605 | y = % - 1 |
905 | y = % - 1 |
606 | z = 20 - % |
906 | z = 20 - % |
607 | repeat 10 |
907 | repeat numimages*5 |
608 | load a byte from $ - 20*10 + y*10 + (%-1) |
908 | load a dword from $ - numimages*20*20 + numimages*20*y + (%-1)*4 |
609 | load b byte from $ - 20*10 + z*10 + (%-1) |
909 | load b dword from $ - numimages*20*20 + numimages*20*z + (%-1)*4 |
610 | store byte a at $ - 20*10 + z*10 + (%-1) |
910 | store dword a at $ - numimages*20*20 + numimages*20*z + (%-1)*4 |
611 | store byte b at $ - 20*10 + y*10 + (%-1) |
911 | store dword b at $ - numimages*20*20 + numimages*20*y + (%-1)*4 |
612 | end repeat |
- | |
613 | end repeat |
- | |
614 | } |
- | |
615 | - | ||
616 | openbtn: |
- | |
617 | loadbtn 'open.bmp' |
- | |
618 | fliphorzbtn: |
- | |
619 | loadbtn 'fliphorz.bmp' |
- | |
620 | flipvertbtn: |
- | |
621 | loadbtn 'flipvert.bmp' |
- | |
622 | rotcwbtn: |
- | |
623 | loadbtn 'rotcw.bmp' |
- | |
624 | rotccwbtn: |
- | |
625 | loadbtn 'rotccw.bmp' |
- | |
Line 626... | Line 912... | ||
626 | rot180btn: |
912 | end repeat |
627 | loadbtn 'rot180.bmp' |
913 | end repeat |
628 | 914 | ||
629 | ; DATA AREA |
915 | ; DATA AREA |
Line 642... | Line 928... | ||
642 | dd 0 |
928 | dd 0 |
643 | dd 0 |
929 | dd 0 |
644 | ;run_filepath |
930 | ;run_filepath |
645 | db '/sys/SYSXTREE',0 |
931 | db '/sys/SYSXTREE',0 |
Line -... | Line 932... | ||
- | 932 | ||
- | 933 | readdir_fileinfo: |
|
- | 934 | dd 1 |
|
- | 935 | dd 0 |
|
- | 936 | dd 0 |
|
- | 937 | readblocks dd 0 |
|
- | 938 | directory_ptr dd 0 |
|
646 | 939 | ||
Line 647... | Line 940... | ||
647 | ;----------------------------------------------------------------------------- |
940 | ;----------------------------------------------------------------------------- |
Line -... | Line 941... | ||
- | 941 | ||
- | 942 | I_END: |
|
- | 943 | ||
648 | 944 | curdir rb 1024 |
|
649 | I_END: |
945 | |
650 | 946 | align 4 |
|
651 | img_data dd ? |
947 | img_data dd ? |
652 | img_data_len dd ? |
948 | img_data_len dd ? |
653 | fh dd ? |
949 | fh dd ? |
- | 950 | image dd ? |
|
- | 951 | wnd_width dd ? |
|
Line 654... | Line 952... | ||
654 | image dd ? |
952 | wnd_height dd ? |
Line 655... | Line 953... | ||
655 | wnd_width dd ? |
953 | last_name_component dd ? |
656 | wnd_height dd ? |
954 | cur_file_idx dd ? |