forked from KolibriOS/kolibrios
sysfont parser bugfix
git-svn-id: svn://kolibrios.org@2321 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
7ab46af0a7
commit
9e4294fe02
@ -210,102 +210,78 @@ parse_tick:
|
|||||||
pop edx
|
pop edx
|
||||||
mov cl, dh
|
mov cl, dh
|
||||||
and cl, 7 ; three rotation bits
|
and cl, 7 ; three rotation bits
|
||||||
and edx, 0xFF
|
and edx, 0xFF ; dl = gptick#
|
||||||
sub dl, 32
|
sub dl, 32
|
||||||
test dl, (sdsh_data.v5-sdsh_data.v1)
|
cmp dl, (sdsh_data.v5-sdsh_data.v1)
|
||||||
jae .gptick.2
|
jae .gptick.2
|
||||||
.gptick.1:
|
.gptick.1:
|
||||||
mov esi, sdsh_data.tick_table
|
mov esi, sdsh_data.tick_table
|
||||||
add esi, edx ; the tickfield
|
add esi, edx ; 1-byte tickgroups .v1-v4:
|
||||||
inc dh
|
inc dh
|
||||||
sub dl, 2 ; .v1
|
sub dl, 2 ; .v1 : 2 ticks only (#32, 33)
|
||||||
jb .gptick.done
|
jae @f
|
||||||
inc dh
|
mov dl, dh
|
||||||
sub dl, 8 ; .v2
|
jmp .gptick.done
|
||||||
jb .gptick.done
|
@@: inc dh
|
||||||
inc dh
|
shr dl, 3 ; tickgroups .v2-v4 : 8 ticks each
|
||||||
sub dl, 8 ; .v3
|
add dl, dh
|
||||||
jb .gptick.done
|
jmp .gptick.done
|
||||||
inc dh
|
|
||||||
jmp .gptick.done ; .v4
|
|
||||||
.gptick.2:
|
.gptick.2:
|
||||||
sub dl, (sdsh_data.v5-sdsh_data.v1)
|
sub dl, (sdsh_data.v5-sdsh_data.v1)
|
||||||
|
cmp dl, (sdsh_data.v9-sdsh_data.v5)
|
||||||
jae .gptick.3
|
jae .gptick.3
|
||||||
mov esi, sdsh_data.v5
|
mov esi, sdsh_data.v5
|
||||||
add esi, edx*2 ; 2-byte tickfield
|
lea esi, [esi+edx*2] ; 2-byte tickgroups .v5-v8: 8 ticks each
|
||||||
mov dh, 5
|
mov dh, 5
|
||||||
sub dl, 8 ; .v5
|
shr dl, 3
|
||||||
jb .gptick.done
|
add dl, dh
|
||||||
inc dh
|
jmp .gptick.done
|
||||||
sub dl, 8 ; .v6
|
|
||||||
jb .gptick.done
|
|
||||||
inc dh
|
|
||||||
sub dl, 8 ; .v7
|
|
||||||
jb .gptick.done
|
|
||||||
inc dh
|
|
||||||
jmp .gptick.done ; .v8
|
|
||||||
.gptick.3:
|
.gptick.3:
|
||||||
sub dl, (sdsh_data.v9-sdsh_data.v5)
|
sub dl, (sdsh_data.v9-sdsh_data.v5)
|
||||||
|
cmp dl, (sdsh_data.v13-sdsh_data.v9)
|
||||||
jae .gptick.4
|
jae .gptick.4
|
||||||
mov esi, sdsh_data.v9
|
mov esi, sdsh_data.v9
|
||||||
lea esi,[esi+edx*2+edx] ; 3-byte tickfield
|
lea esi,[esi+edx*2+edx] ; 3-byte tickgroups .v9-12: 4 ticks each
|
||||||
mov dh, 9
|
mov dh, 9
|
||||||
sub dl, 4 ; .v9
|
shr dl, 2
|
||||||
jb .gptick.done
|
add dl, dh
|
||||||
inc dh
|
jmp .gptick.done
|
||||||
sub dl, 4 ; .v10
|
|
||||||
jb .gptick.done
|
|
||||||
inc dh
|
|
||||||
sub dl, 4 ; .v11
|
|
||||||
jb .gptick.done
|
|
||||||
inc dh
|
|
||||||
jmp .gptick.done ; .v12
|
|
||||||
.gptick.4:
|
.gptick.4:
|
||||||
sub dl, (sdsh_data.v13-sdsh_data.v9)
|
sub dl, (sdsh_data.v13-sdsh_data.v9)
|
||||||
jae .gptick.5
|
cmp dl, 16
|
||||||
|
jae .exit
|
||||||
mov esi, sdsh_data.v13
|
mov esi, sdsh_data.v13
|
||||||
lea esi,[esi+edx*2+edx] ; 3-byte tickfield
|
lea esi,[esi+edx*4] ; 4-byte tickgroups .v13-16: 4 ticks each
|
||||||
mov dh, 13
|
mov dh, 13
|
||||||
sub dl, 4 ; .v13
|
shr dl, 2
|
||||||
jb .gptick.done
|
add dl, dh
|
||||||
inc dh
|
|
||||||
sub dl, 4 ; .v14
|
|
||||||
jb .gptick.done
|
|
||||||
inc dh
|
|
||||||
sub dl, 4 ; .v15
|
|
||||||
jb .gptick.done
|
|
||||||
inc dh
|
|
||||||
jmp .gptick.done ; .v16
|
|
||||||
.gptick.unknown:
|
|
||||||
jmp .exit
|
|
||||||
.gptick.done:
|
.gptick.done:
|
||||||
mov dl, dh ; dl = numvert
|
mov dh, ch ; dh = orig.XY; dl = numvert
|
||||||
mov dh, ch ; dh = orig.xy
|
jmp .draw ; cl = rotation
|
||||||
call draw_tick
|
|
||||||
jmp .exit
|
|
||||||
|
|
||||||
.cstick:
|
.cstick:
|
||||||
and cl, 4
|
and cl, 4
|
||||||
shr cl, 2 ; only one rotational bit
|
shr cl, 2 ; only one rotational bit
|
||||||
and dl, 3
|
and dl, 3
|
||||||
|
inc dl
|
||||||
dec dl
|
dec dl
|
||||||
jb .cstick.0
|
jz .cstick.0
|
||||||
mov esi, sdsh_data.cs2 ; the square
|
|
||||||
dec dl
|
dec dl
|
||||||
jb .cstick.1
|
jnz @f
|
||||||
dec dl
|
mov dl, 6
|
||||||
jb .cstick.2
|
jz .cstick.1
|
||||||
|
@@: dec dl
|
||||||
|
jz .cstick.2
|
||||||
.cstick.3:
|
.cstick.3:
|
||||||
mov esi, sdsh_data.cs3 ; 12pix-ring
|
mov esi, sdsh_data.cs3 ; 12pix-ring
|
||||||
mov dl, 10
|
mov dl, 10
|
||||||
jmp .draw
|
jmp .draw
|
||||||
.cstick.2:
|
.cstick.2:
|
||||||
mov dl, 7
|
mov dl, 7
|
||||||
jmp .draw
|
|
||||||
.cstick.1:
|
.cstick.1:
|
||||||
mov dl, 6
|
mov esi, sdsh_data.cs2 ; the square
|
||||||
jmp .draw
|
jmp .draw
|
||||||
.cstick.3:
|
.cstick.0:
|
||||||
mov esi, sdsh_data.cs0 ; 4pix-square
|
mov esi, sdsh_data.cs0 ; 4pix-square
|
||||||
mov dl, 3
|
mov dl, 3
|
||||||
jmp .draw
|
jmp .draw
|
||||||
|
Loading…
Reference in New Issue
Block a user