z zooms too, so a keyboard is not shut out of it
B was the only way to swap the view, and the game is meant to be flyable without a controller - the arrows fly it when there is no pad. Somebody without one had no way to zoom at all. Tested ABOVE the pad test rather than beside the arrows, and that is the distinction: which way the lander is flown is a question a controller answers better, so the arrows stand aside for one. How much of the moon is on the screen is not that kind of question, and a player with a pad may still have a keyboard in front of them. No edge to remember here either. The console delivers a key ONCE, which is the whole difference between a key and a held button. The check puts the z forty bytes into the keyboard file, because the console hands over one key a frame: a z two hundred bytes in is a z two hundred frames away, which is past the end of the capture and reads exactly like a key that does nothing. It cost a wrong answer first time.
This commit is contained in:
@@ -588,6 +588,10 @@ readPad:
|
||||
; controller, where one press is one burn and that is the best that can be done - it reads as
|
||||
; pumping the engine, which is a thing this machine makes true rather than a thing this
|
||||
; program chose.
|
||||
zoomKeyed:
|
||||
CALL toggleView
|
||||
RET
|
||||
|
||||
readControls:
|
||||
INA 0x01
|
||||
INIB 0x01 ; READY
|
||||
@@ -603,6 +607,22 @@ readControls:
|
||||
SUB
|
||||
BRQ quit
|
||||
|
||||
; ---- And z swaps the zoom, pad or no pad ----
|
||||
;
|
||||
; ABOVE the test for a controller, unlike the arrows. Which way the lander is flown is a
|
||||
; question the arrows have to ask, because a pad answers it better; how much of the moon is
|
||||
; on the screen is not - somebody flying on a controller may still have a keyboard in front
|
||||
; of them, and somebody without one would otherwise have no way to zoom at all.
|
||||
;
|
||||
; No edge to worry about here. The console delivers a key ONCE, which is the difference
|
||||
; between a key and a button and the reason the pad below needs remembering and this does
|
||||
; not.
|
||||
LDA.1
|
||||
INIB 0x7A ; z.
|
||||
CCF
|
||||
SUB
|
||||
BRQ zoomKeyed
|
||||
|
||||
SETD.0 HasPad
|
||||
LDA.0
|
||||
BNA noKey ; There is a pad, so the arrows are its business and not this.
|
||||
|
||||
Reference in New Issue
Block a user