From 385c2fa55f76a2f6398c933742b1485562b19bea Mon Sep 17 00:00:00 2001 From: 4am Date: Wed, 11 Apr 2018 18:55:28 -0400 Subject: [PATCH] resize version dialog based on number of available versions --- res/text/amfv.txt | 4 ++-- res/text/bureaucracy.txt | 4 ++-- res/text/sorcerer.txt | 10 +++++----- res/text/spellbreaker.txt | 4 ++-- res/text/stationfall.txt | 2 +- src/ui.common.a | 2 +- src/ui.versions.a | 33 +++++++++++++++++++++------------ 7 files changed, 34 insertions(+), 25 deletions(-) diff --git a/res/text/amfv.txt b/res/text/amfv.txt index cce39d5..a310155 100644 --- a/res/text/amfv.txt +++ b/res/text/amfv.txt @@ -31,8 +31,8 @@ for the "Class One Security Mode Access Decoder" is always 12. [versions] -R79.DEPROT.Z4=Release 79 / Serial number 851122 -R77.DEPROT.Z4=Release 77 / Serial number 850814 +R79.DEPROT.Z4=Release 79 / Serial number 851122 (patched) +R77.DEPROT.Z4=Release 77 / Serial number 850814 (patched) [options] ARTWORK=1 diff --git a/res/text/bureaucracy.txt b/res/text/bureaucracy.txt index 482c12b..0c69cfb 100644 --- a/res/text/bureaucracy.txt +++ b/res/text/bureaucracy.txt @@ -40,8 +40,8 @@ are asked five questions in the paranoid's house, you may give any answers. [versions] -R116.DEPROT.Z4=Release 116 / Licence number 870602 -R86.DEPROT.Z4=Release 86 / Licence number 870212 +R116.DEPROT.Z4=Release 116 / Licence number 870602 (patched) +R86.DEPROT.Z4=Release 86 / Licence number 870212 (patched) [options] ARTWORK=1 diff --git a/res/text/sorcerer.txt b/res/text/sorcerer.txt index 23e78cb..86d88c0 100644 --- a/res/text/sorcerer.txt +++ b/res/text/sorcerer.txt @@ -22,11 +22,11 @@ white, gray, black, red, black. [versions] -R18.DEPROT.Z3=Release 18 / Serial number 860904 -R15.DEPROT.Z3=Release 15 / Serial number 851108 -R13.DEPROT.Z3=Release 13 / Serial number 851021 -R6.DEPROT.Z3=Release 6 / Serial number 840508 -R4.DEPROT.Z3=Release 4 / Serial number 840131 +R18.DEPROT.Z3=Release 18 / Serial number 860904 (patched) +R15.DEPROT.Z3=Release 15 / Serial number 851108 (patched) +R13.DEPROT.Z3=Release 13 / Serial number 851021 (patched) +R6.DEPROT.Z3=Release 6 / Serial number 840508 (patched) +R4.DEPROT.Z3=Release 4 / Serial number 840131 (patched) [options] ARTWORK=1 diff --git a/res/text/spellbreaker.txt b/res/text/spellbreaker.txt index 5ee7d0f..db71ee4 100644 --- a/res/text/spellbreaker.txt +++ b/res/text/spellbreaker.txt @@ -26,8 +26,8 @@ it look easy." The answer is Barsap. [versions] -R87.DEPROT.Z3=Release 87 / Serial number 860904 -R63.DEPROT.Z3=Release 63 / Serial number 850916 +R87.DEPROT.Z3=Release 87 / Serial number 860904 (patched) +R63.DEPROT.Z3=Release 63 / Serial number 850916 (patched) [options] ARTWORK=1 diff --git a/res/text/stationfall.txt b/res/text/stationfall.txt index 4749fc8..7d4f932 100644 --- a/res/text/stationfall.txt +++ b/res/text/stationfall.txt @@ -42,7 +42,7 @@ just enter the current GST (displayed at the top of the screen). [versions] -R107.DEPROT.Z3=Release 107 / Serial number 870430 +R107.DEPROT.Z3=Release 107 / Serial number 870430 (patched) [options] ARTWORK=1 diff --git a/src/ui.common.a b/src/ui.common.a index 05acc67..59d93e7 100644 --- a/src/ui.common.a +++ b/src/ui.common.a @@ -62,7 +62,7 @@ CreateButton ; creates a WeeGUI decorated frame view ; ; in: WeeGUI initialized -; stack contains 8 bytes of parameters: +; stack contains 4 bytes of parameters: ; +1 [word] address of WeeGUI view configuration block for frame ; +3 [word] address of null-terminated string for frame title ; out: $00/$01 clobbered diff --git a/src/ui.versions.a b/src/ui.versions.a index 2846db6..f8cb884 100644 --- a/src/ui.versions.a +++ b/src/ui.versions.a @@ -75,17 +75,19 @@ VersionsDialog !word gVersionsStore sta .numVersions - ; TODO calculate proper height based on number of available versions - ldy #3 - sty kViewVersionsFrame+3 ; frame top - iny - sty kViewVersionsOK+2 ; OK top - iny - iny - sty kViewVersionsCancel+2 ; Cancel top - ldy #19 - sty kViewVersionsFrame+5 ; frame visible height - sty kViewVersionsFrame+7 ; frame height + asl + inc + sta kViewVersionsFrame+5 ; frame visible height = 1 + (2 * numVersions) + sta kViewVersionsFrame+7 ; frame height + lda #12 + sec + sbc .numVersions + sta kViewVersionsFrame+3 ; frame top = 12 - numVersions + inc + sta kViewVersionsOK+2 ; OK top = frame top + 1 + inc + inc + sta kViewVersionsCancel+2 ; Cancel top = OK top + 2 jsr CreateDialog !word kViewVersionsFrame @@ -96,7 +98,7 @@ VersionsDialog jsr CreateButton !word kViewVersionsCancel - ldx #0 + ldx #0 ; X = index of radio button (0-based) .createRadioLoop phx lda #1 @@ -107,6 +109,13 @@ VersionsDialog lda kVersions,x ldy kVersions+1,x +STAY + + +STAY SRC + txa + inc + clc + adc kViewVersionsFrame+3 + ldy #2 + sta (SRC),y ; radio button top = frame top + 1 + (2 * X) jsr CreateRadio ; create radio button for this version (will print label later) + !word $FDFD ; SMC plx