Page 1 of 1

PATCH: Keen 2 Status box stuff

Posted: Mon Jun 20, 2005 11:50 am
by levellord
First up, all the text used in the status box:

%patch 0x01991C " SCORE EXTRA KEEN AT "
%patch 0x01993D " KEENS PISTOL "
%patch 0x019964 " TARGETS SAVED KEYS "
%patch 0x01998E " PLEASE PRESS A KEY "
%patch 0x0199AB "LONDON"
%patch 0x0199B2 "CAIRO"
%patch 0x0199B8 "SYDNEY"
%patch 0x0199BF "NEW YORK"
%patch 0x0199C8 "PARIS"
%patch 0x0199CE "ROME"
%patch 0x0199D3 "MOSCOW"
%patch 0x0199DA "WASH D.C."

Next, all the tiles and position stuff I could find:

%patch $0F95 $03 $00 #Lives sprite vertical position
%patch $0FA5 $03 $00 #Maximum number of lives to show -1
#Number of lives to hide from start of lives
%patch $0F8B $00 $00 #e.g show 4 hide 1 = 3 lives shown max.
%patch $0FC7 $9E $01 #Raygun tile
%patch $0FC7 $03 $00 #Raygun vertical position
%patch $0FD0 $04 $00 #Raygun offset, pixels
%patch $0FD6 $15 $00 #Raygun horizontal position
%patch $0FE2 $18 $00 #Shots left horiziontal position
%patch $0FEA $04 $00 #Shots left vertical position
%patch $0FFB $15 $00 #Keycard A,B,C,D horizontal position center
%patch $1003 $07 $00 #Keycard A,B,C,D vertical position center
%patch $1010 $A8 $01 #Got keycard A tile
%patch $102F $A9 $01 #Got keycard B tile
%patch $1032 $90 #Don't show keycard B
%patch $1040 $03 $00 #Keycard B offset, pixels
%patch $1051 $AA $01 #Got keycard C tile
%patch $1054 $90 #Don't show keycard C
%patch $105E $10 $00 #Keycard C vertical position
%patch $1073 $AB $01 #Got keycard D tile
%patch $1076 $90 #Don't show keycard D
%patch $1080 $10 $00 #Keycard D vertical position
%patch $1087 $03 $00 #Keycard D offset, pixels

And now the status box's general size:

#Status box bottom side location
%patch $0E53 $0C $00
#Status box right side location
%patch $0E57 $1C $00

And now some complicated stuff about the structure of the status box; basically the 'walls' seperating different areas of the status box such as cities saved and keycards are really 1 character long bits of 'text' thir horizontal location and where the text is read from can be altered. For example, setting the text read from value at one less will cause the text not to appear, or you can use up some spare story space say and put extra text into your status box. The horizontal values allow you to resize areas within the status box.

#SCORE...EXTRA KEEN AT text read from
%patch $0E69 $9C $21
#Horizontal position of 'square' seperating score and extra keen at
%patch $0E74 $0A $00
#Text read from
%patch $0E7A $BA $21
#KEENS...PISTOL text read from
%patch $0E83 $BD $21

#Horizontal position of 3 'squares' that divide the lives from shots
%patch $0E8E $13 $00
%patch $0E9F $13 $00
%patch $0EB0 $13 $00
#Text for each square read from:
%patch $0E94 $DB $21
%patch $0EA5 $DE $21
%patch $0EB6 $E1 $21

#Horizontal position of 4 'squares' that divide the keys from cities saved
%patch $0ECA $13 $00
%patch $0ED8 $13 $00
%patch $0EEC $13 $00
%patch $0EFD $13 $00
#Text for each square read from:
%patch $0ED0 $02 $22
%patch $0EE1 $05 $22
%patch $0EF2 $08 $22
%patch $0F03 $0B $22


Posted: Tue Jun 28, 2005 1:58 am
by levellord
The lives vertical position is okay, but just not versitile enough, my sprite is 2 pixels too high. So I take a peek at the code and:

#Control lives vertical position MUCH more accurately [i.e more versitile]
%patch $0F98 $90
%patch $0F95 $1E $00 #Vertical position

Now it can be moved up/down in 2 pixel incretements. I think I could do simalar patches for the raygun, and maybe the keycards.

And as a side effect:

#Base to show Extra Keens score in; $0A = 10, $01 = binary, etc.
%patch $0F15 $0A
#Show Keens score in hex
%patch $0F15 $10

#Base to show Extra Keens score in; $0A = 10, $01 = binary, etc.
%patch $0F4E $0A
#Show Extra Keens score in hex
%patch $0F4E $10

This is neat. Usually the score is shown in base 10 [0A] as in 1,2,3...9,10 with this patch you can have it in binary [$02] 1,10,11 or ternary [$05] 1,2,3,4,10 or any other base. My favourite is hex [10] 1,2...9,a,b..e,f,10

#Don't show Extra Keen at score
%patch $0F81 $90
#Don't show Keens' score
%patch $0F45 $90


#Make 'Extra Keen at' score the same as Keens current score
%patch $0F52 $90

Doesn't affect extra Keen behaviour.

#'Press any key' text read from:
%patch $0F0C $0E $22
#Don't show Lives
%patch $0F8B $90
#Always show maximum number of Keens no matter how many lives Keen has
%patch $0FB5 $90

And more stuff.


Re: PATCH: Keen 2 Status box stuff

Posted: Tue Nov 21, 2017 10:47 pm
by szemigi
Now the only thing that is needed is the live sprite's hex code.