Well now, first up I have a full breakdown of the status screen structure, just like the other text/text loaction things I've done.And so it came to pass that the Keener Levellord dist want a status screen patch for Keen 3, and lo she did beseech the great Adur with many an email, yet she got no response. And lo she didst weep and gnash her teeth and exlaim 'Oh bugger, why hast he forsaken me?' Then she went unto the land of Keen code and didst make herself a patch that was almost as good, and lo she was satisfied.
~Keenesis 4:28
Code: Select all
#Statusbox size:
%patch $0EC0 $0B $00 #Height [In lines of text]
%patch $0EC4 $1C $00 #width [in letters]
#Text read from: [Long lines marked]
%patch $0ED5 $D4 $22 #1st line
%patch $0EE5 $F2 $22
%patch $0EED $F5 $22 #3rd
%patch $0EFD $13 $23
%patch $0F0D $16 $23
%patch $0F1D $19 $23
%patch $0F25 $1C $23 #7th
%patch $0F35 $3A $23
%patch $0F45 $3D $23
%patch $0F55 $40 $23
%patch $0F5D $43 $23 #11th
#Text
%patch $1BAF4 " SCORE EXTRA KEEN AT " $0A $00
%patch $1BB12 " " $0A $00
%patch $1BB15 " KEENS PISTOL " $0A $00
%patch $1BB33 " " $0A $00
%patch $1BB36 " " $0A $00
%patch $1BB39 " " $0A $00
%patch $1BB3C " ANKH TIME KEY CARDS " $0A $00
%patch $1BB5A " " $0A $00
%patch $1BB5D " " $0A $00
%patch $1BB60 " " $0A $00
%patch $1BB63 " PLEASE PRESS A KEY " $00
#Text structure
%patch $0EDF $0C $00 #2nd line h position
%patch $0EF7 $13 $00 #4th line
%patch $0F07 $13 $00 #5th line
%patch $0F17 $13 $00 #6th line
%patch $0F2F $0B $00 #8th
%patch $0F3F $0B $00 #9th
%patch $0F4F $0B $00 #10th
#Values structure [i.e score, etc text]
%patch $0F65 $0A $00 #Score base [0A = 10 = decimal, $10 =hex, $01 = binary, $00 don't show]
%patch $0F86 $0A #Score h position
%patch $0F9C $0A $00 #Extra Keen base [like above, $00, don't show]
%patch $0FC5 $1A #Extra Keen h position
%patch $102F $18 $00 #Ammo h position
%patch $1037 $04 $00 #Ammo v position
%patch $1066 $07 $00 #Ankh time h position
%patch $106E $08 $00 #Ankh time v position
#Keen's lives structure
%patch $0FD7 $00 #Lives h position [lives stop at $12, so $0A doesn't show lives]
%patch $0FE1 $03 $00 #Sprite vertical position
%patch $FED $90 $90 #Sprites close together
#Tiles used:
%patch $100E $D8 $00 #Raygun tile
%patch $1014 $03 $00 #Vertical position [lines]
%patch $101D $04 $00 #Plus xx pixels [i.e loc is 3 4/8 lines]
%patch $1023 $15 $00 #H position
%patch $1045 $D6 $00 #Ankh tile
%patch $104B $07 $00 #V position [lines]
%patch $1054 $04 $00 #Plus xx pixels [i.e loc is 7 4/8 lines]
%patch $105A $03 $00 #H position
%patch $1084 $0D $00 #Keycards h position [4 keycards start here]
%patch $108C $08 $00 #Keycards v position [All 4 keycards this height]
%patch $1099 $D9 $00 #Yellow keycard tile [No 'no keycard' tile]
%patch $10BB $DA $00 #Red keycard tile
%patch $10CF $04 $00 #Red keycard left xx [i.e 0D + 04 = 11]
%patch $10E0 $DB $00 #Green keycard tile
%patch $10F4 $08 $00 #Green keycard left xx [i.e 0D + 08 = 15]
%patch $1105 $DC $00 #Blue keycard tile
%patch $1119 $0C $00 #Blue keycard left xx [i.e 0D + 0C = 19]
%patch $1094 $01 $00 #Always show yellow keycard
%patch $10B6 $01 $00 #Always show red keycard
%patch $10DB $01 $00 #Always show green keycard
%patch $1100 $01 $00 #Always show blue keycard
Now we can use the ordering info text as space for some looong statusbox text. If we tweak the text stuff a bit; we can make an external status.ck3 file, just like Andy's Keen 1 patch does! Whats more, we can now shift [nearly] everything in the status screen around wherever we want! [Or, if you want, even delete it] Just like Andy's patch! Here's how its done:
Code: Select all
#Blank O.I text [We're using it now!]
%patch $AE43 $CD $33 #1st line, etc
%patch $AE4E $CD $33
%patch $AE56 $CD $33
%patch $AE5E $CD $33
%patch $AE66 $CD $33
%patch $AE6E $CD $33
%patch $AE76 $CD $33
%patch $AE7E $CD $33
%patch $AE86 $CD $33
#Blank status text, except for fist line
#This now reads from the O.I text
%patch $0ED5 $CE $33 #1st line [Note, 1 larger than above O.I]
%patch $0EE5 $CD $33
%patch $0EED $CD $33 #3rd
%patch $0EFD $CD $33
%patch $0F0D $CD $33
%patch $0F1D $CD $33
%patch $0F25 $CD $33 #7th
%patch $0F35 $CD $33
%patch $0F45 $CD $33
%patch $0F55 $CD $33
%patch $0F5D $CD $33 #11th
#Change O.I text into status textfile, you can edit this how you want!
%patchfile $1CBEE "STATUS.CK3"
#Or, for simplicity; use this text patch!
%patch $1CBEE " SCORE EXTRA KEEN AT " $0A
" " $0A
" KEENS PISTOL " $0A
" " $0A
" " $0A
" " $0A
%patch $1CC9C " ANKH TIME KEY CARDS " $0A
" " $0A
" " $0A
" " $0A
" PLEASE PRESS A KEY " $00
Code: Select all
%patch $1CBEE " SCORE EXTRA KEEN AT " $0A
" .......... ............... " $0A
" KEENS PISTOL " $0A
" ................. ........ " $0A
" ................. ........ " $0A
" ................. ........ " $0A
%patch $1CC9C " ANKH TIME KEY CARDS " $0A
" ......... ................ " $0A
" ......... ................ " $0A
" ......... ................ " $0A
" PLEASE PRESS A KEY " $00
The status.CK3 file can be downloaded from here: http://levellord.toxicsheep.com/Index/Keen3/STATUS.CK3