From 57132d2e6f5b9a46a2ccd5fd9a4490783a2ac116 Mon Sep 17 00:00:00 2001 From: Joshua Bell Date: Fri, 1 Sep 2017 08:48:46 -0700 Subject: [PATCH] window bounds --- desk.acc/show.text.file/stf.list | 63 +++++++++++++++---------------- desk.acc/show.text.file/stf.o | Bin 21394 -> 21409 bytes desk.acc/show.text.file/stf.s | 63 +++++++++++++++---------------- 3 files changed, 62 insertions(+), 64 deletions(-) diff --git a/desk.acc/show.text.file/stf.list b/desk.acc/show.text.file/stf.list index 13bb4b6..dcf0cf6 100644 --- a/desk.acc/show.text.file/stf.list +++ b/desk.acc/show.text.file/stf.list @@ -407,10 +407,9 @@ Current file: stf.s 00095F 1 00 00 base: .word 0 000961 1 .endproc 000961 1 -000961 1 00 L0961: .byte $00 -000962 1 00 L0962: .byte $00 -000963 1 00 L0963: .byte $00 -000964 1 00 L0964: .byte $00 +000961 1 00 00 window_width: .word 0 +000963 1 00 00 window_height: .word 0 +000965 1 000965 1 00 L0965: .byte $00 000966 1 00 00 L0966: .byte $00,$00 000968 1 00 L0968: .byte $00 @@ -482,8 +481,8 @@ Current file: stf.s 000995 1 02 unk: .byte 2 ; unknown - window flags? 000996 1 .endproc 000996 1 -000996 1 00 L0996: .byte $00 -000997 1 10 L0997: .byte $10 +000996 1 ;; possibly additional window params - size? +000996 1 00 10 L0996: .word $1000 ; ??? 000998 1 00 C1 L0998: .byte $00,$C1 00099A 1 20 L099A: .byte $20 00099B 1 00 FF L099B: .byte $00,$FF @@ -582,7 +581,7 @@ Current file: stf.s 000A45 1 8D 96 09 sta L0996 000A48 1 A5 07 lda $07 000A4A 1 69 00 adc #$00 -000A4C 1 8D 97 09 sta L0997 +000A4C 1 8D 97 09 sta L0996+1 000A4F 1 A0 09 ldy #$09 000A51 1 B1 06 lda ($06),y 000A53 1 AA tax @@ -724,16 +723,16 @@ Current file: stf.s 000B5D 1 8D B5 09 sta text_box::width+1 000B60 1 38 sec 000B61 1 AD B4 09 lda text_box::width -000B64 1 ED 61 09 sbc L0961 +000B64 1 ED 61 09 sbc window_width 000B67 1 8D B0 09 sta text_box::unk1 000B6A 1 AD B5 09 lda text_box::width+1 -000B6D 1 ED 62 09 sbc L0962 +000B6D 1 ED 62 09 sbc window_width+1 000B70 1 8D B1 09 sta text_box::unk1+1 000B73 1 AD 98 09 L0B73: lda L0998 -000B76 1 AE 61 09 ldx L0961 +000B76 1 AE 61 09 ldx window_width 000B79 1 E0 00 cpx #$00 000B7B 1 D0 0C bne L0B89 -000B7D 1 AE 62 09 ldx L0962 +000B7D 1 AE 62 09 ldx window_width+1 000B80 1 E0 02 cpx #$02 000B82 1 D0 05 bne L0B89 000B84 1 29 FE and #$FE @@ -743,10 +742,10 @@ Current file: stf.s 000B8B 1 8D 98 09 L0B8B: sta L0998 000B8E 1 38 sec 000B8F 1 A9 00 lda #$00 -000B91 1 ED 61 09 sbc L0961 +000B91 1 ED 61 09 sbc window_width 000B94 1 85 06 sta $06 000B96 1 A9 02 lda #$02 -000B98 1 ED 62 09 sbc L0962 +000B98 1 ED 62 09 sbc window_width+1 000B9B 1 85 07 sta $07 000B9D 1 20 DF 10 jsr L10DF 000BA0 1 8D 87 09 sta L0987 @@ -878,7 +877,7 @@ Current file: stf.s 000C84 1 .endproc 000C84 1 000C84 1 .proc calc_track_scroll_delta -000C84 1 AD 63 09 lda L0963 ; ceil(??? / 50) +000C84 1 AD 63 09 lda window_height ; ceil(??? / 50) 000C87 1 A2 00 ldx #0 000C89 1 E8 loop: inx 000C8A 1 38 sec @@ -920,10 +919,10 @@ Current file: stf.s 000CCA 1 8D B1 09 sta text_box::unk1+1 000CCD 1 18 clc 000CCE 1 AD B0 09 lda text_box::unk1 -000CD1 1 6D 61 09 adc L0961 +000CD1 1 6D 61 09 adc window_width 000CD4 1 8D B4 09 sta text_box::width 000CD7 1 AD B1 09 lda text_box::unk1+1 -000CDA 1 6D 62 09 adc L0962 +000CDA 1 6D 62 09 adc window_width+1 000CDD 1 8D B5 09 sta text_box::width+1 000CE0 1 20 D1 0D jsr L0DD1 000CE3 1 20 30 0E jsr draw_content @@ -1014,11 +1013,11 @@ Current file: stf.s 000D64 1 18 clc 000D65 1 A5 06 lda $06 000D67 1 8D B0 09 sta text_box::unk1 -000D6A 1 6D 61 09 adc L0961 +000D6A 1 6D 61 09 adc window_width 000D6D 1 8D B4 09 sta text_box::width 000D70 1 A5 07 lda $07 000D72 1 8D B1 09 sta text_box::unk1+1 -000D75 1 6D 62 09 adc L0962 +000D75 1 6D 62 09 adc window_width+1 000D78 1 8D B5 09 sta text_box::width+1 000D7B 1 60 rts 000D7C 1 .endproc @@ -1042,10 +1041,10 @@ Current file: stf.s 000D9B 1 .proc L0D9B ; ?? part of vscroll 000D9B 1 18 clc 000D9C 1 AD B2 09 lda text_box::unk2 -000D9F 1 6D 63 09 adc L0963 +000D9F 1 6D 63 09 adc window_height 000DA2 1 8D B6 09 sta text_box::height 000DA5 1 AD B3 09 lda text_box::unk2+1 -000DA8 1 6D 64 09 adc L0964 +000DA8 1 6D 64 09 adc window_height+1 000DAB 1 8D B7 09 sta text_box::height+1 000DAE 1 20 A5 10 jsr L10A5 000DB1 1 A9 00 lda #0 @@ -1385,14 +1384,14 @@ Current file: stf.s 001088 1 38 L1088: sec 001089 1 AD B4 09 lda text_box::width 00108C 1 ED B0 09 sbc text_box::unk1 -00108F 1 8D 61 09 sta L0961 +00108F 1 8D 61 09 sta window_width 001092 1 AD B5 09 lda text_box::width+1 001095 1 ED B1 09 sbc text_box::unk1+1 -001098 1 8D 62 09 sta L0962 +001098 1 8D 62 09 sta window_width+1 00109B 1 38 sec 00109C 1 AD B6 09 lda text_box::height 00109F 1 ED B2 09 sbc text_box::unk2 -0010A2 1 8D 63 09 sta L0963 +0010A2 1 8D 63 09 sta window_height 0010A5 1 AD B6 09 L10A5: lda text_box::height 0010A8 1 8D 65 09 sta L0965 0010AB 1 AD B7 09 lda text_box::height+1 @@ -1511,7 +1510,8 @@ Current file: stf.s 001175 1 78 11 0C 50 prop_str: A2D_DEFSTRING "Proportional" 001179 1 72 6F 70 6F 00117D 1 72 74 69 6F -001184 1 +001184 1 label_width := 50 +001184 1 title_bar_height := 12 001184 1 .proc mode_box ; bounding box for mode label 001184 1 00 00 left: .word 0 001186 1 00 00 top: .word 0 @@ -1529,25 +1529,24 @@ Current file: stf.s 001196 1 0A 00 base: .word 10 ; vertical text offset (to baseline) 001198 1 .endproc 001198 1 -001198 1 001198 1 .proc calc_and_draw_mode 001198 1 38 sec -001199 1 AD AA 09 lda text_box::top ; maybe top of window ?? -00119C 1 E9 0C sbc #12 ; height of title bar ?? -00119E 1 8D 86 11 sta mode_box::top ; label top ?? +001199 1 AD AA 09 lda text_box::top +00119C 1 E9 0C sbc #title_bar_height +00119E 1 8D 86 11 sta mode_box::top 0011A1 1 18 clc 0011A2 1 AD A8 09 lda text_box::left -0011A5 1 6D 61 09 adc L0961 +0011A5 1 6D 61 09 adc window_width 0011A8 1 48 pha 0011A9 1 AD A9 09 lda text_box::left+1 -0011AC 1 6D 62 09 adc L0962 +0011AC 1 6D 62 09 adc window_width+1 0011AF 1 AA tax 0011B0 1 38 sec 0011B1 1 68 pla -0011B2 1 E9 32 sbc #50 +0011B2 1 E9 32 sbc #label_width 0011BA 1 8D 85 11 sta mode_box::left+1 0011BD 1 ;; fall through... 0011BD 1 .endproc diff --git a/desk.acc/show.text.file/stf.o b/desk.acc/show.text.file/stf.o index b46ab8098f471aea12632b6b71971857b3bcb84a..128e48335126b185c05b0f639805f86a12ffa887 100644 GIT binary patch literal 21409 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 C_@R;j diff --git a/desk.acc/show.text.file/stf.s b/desk.acc/show.text.file/stf.s index 9e7ac51..247819a 100644 --- a/desk.acc/show.text.file/stf.s +++ b/desk.acc/show.text.file/stf.s @@ -219,10 +219,9 @@ left: .word 0 base: .word 0 .endproc -L0961: .byte $00 -L0962: .byte $00 -L0963: .byte $00 -L0964: .byte $00 +window_width: .word 0 +window_height: .word 0 + L0965: .byte $00 L0966: .byte $00,$00 L0968: .byte $00 @@ -294,8 +293,8 @@ id: .byte window_id ; window identifier unk: .byte 2 ; unknown - window flags? .endproc -L0996: .byte $00 -L0997: .byte $10 + ;; possibly additional window params - size? +L0996: .word $1000 ; ??? L0998: .byte $00,$C1 L099A: .byte $20 L099B: .byte $00,$FF @@ -390,7 +389,7 @@ L0A40: clc sta L0996 lda $07 adc #$00 - sta L0997 + sta L0996+1 ldy #$09 lda ($06),y tax @@ -524,16 +523,16 @@ L0B54: bcs L0B73 sta text_box::width+1 sec lda text_box::width - sbc L0961 + sbc window_width sta text_box::unk1 lda text_box::width+1 - sbc L0962 + sbc window_width+1 sta text_box::unk1+1 L0B73: lda L0998 - ldx L0961 + ldx window_width cpx #$00 bne L0B89 - ldx L0962 + ldx window_width+1 cpx #$02 bne L0B89 and #$FE @@ -543,10 +542,10 @@ L0B89: ora #$01 L0B8B: sta L0998 sec lda #$00 - sbc L0961 + sbc window_width sta $06 lda #$02 - sbc L0962 + sbc window_width+1 sta $07 jsr L10DF sta L0987 @@ -676,7 +675,7 @@ end: rts .endproc .proc calc_track_scroll_delta - lda L0963 ; ceil(??? / 50) + lda window_height ; ceil(??? / 50) ldx #0 loop: inx sec @@ -718,10 +717,10 @@ loop: inx sta text_box::unk1+1 clc lda text_box::unk1 - adc L0961 + adc window_width sta text_box::width lda text_box::unk1+1 - adc L0962 + adc window_width+1 sta text_box::width+1 jsr L0DD1 jsr draw_content @@ -810,11 +809,11 @@ store: sta L099B clc lda $06 sta text_box::unk1 - adc L0961 + adc window_width sta text_box::width lda $07 sta text_box::unk1+1 - adc L0962 + adc window_width+1 sta text_box::width+1 rts .endproc @@ -838,10 +837,10 @@ skip: dex .proc L0D9B ; ?? part of vscroll clc lda text_box::unk2 - adc L0963 + adc window_height sta text_box::height lda text_box::unk2+1 - adc L0964 + adc window_height+1 sta text_box::height+1 jsr L10A5 lda #0 @@ -1173,14 +1172,14 @@ end: rts L1088: sec lda text_box::width sbc text_box::unk1 - sta L0961 + sta window_width lda text_box::width+1 sbc text_box::unk1+1 - sta L0962 + sta window_width+1 sec lda text_box::height sbc text_box::unk2 - sta L0963 + sta window_height L10A5: lda text_box::height sta L0965 lda text_box::height+1 @@ -1295,7 +1294,8 @@ ignore: clc ; Click ignored fixed_str: A2D_DEFSTRING "Fixed " prop_str: A2D_DEFSTRING "Proportional" - + label_width := 50 + title_bar_height := 12 .proc mode_box ; bounding box for mode label left: .word 0 top: .word 0 @@ -1313,25 +1313,24 @@ left: .word 0 ; horizontal text offset base: .word 10 ; vertical text offset (to baseline) .endproc - .proc calc_and_draw_mode sec - lda text_box::top ; maybe top of window ?? - sbc #12 ; height of title bar ?? - sta mode_box::top ; label top ?? + lda text_box::top + sbc #title_bar_height + sta mode_box::top clc lda text_box::left - adc L0961 + adc window_width pha lda text_box::left+1 - adc L0962 + adc window_width+1 tax sec pla - sbc #50 + sbc #label_width sta mode_box::left+1 ;; fall through... .endproc