Close window when invaders is closed
parent
d62714e403
commit
1223b554ff
|
@ -272,10 +272,10 @@ M: space-invaders reset ( cpu -- )
|
||||||
[ port1>> 255 HEX: 40 - bitand ] keep (>>port1) ;
|
[ port1>> 255 HEX: 40 - bitand ] keep (>>port1) ;
|
||||||
|
|
||||||
|
|
||||||
TUPLE: invaders-gadget < gadget cpu quit? ;
|
TUPLE: invaders-gadget < gadget cpu quit? windowed? ;
|
||||||
|
|
||||||
invaders-gadget H{
|
invaders-gadget H{
|
||||||
{ T{ key-down f f "ESC" } [ t swap (>>quit?) ] }
|
{ T{ key-down f f "ESC" } [ t over (>>quit?) dup windowed?>> [ close-window ] [ drop ] if ] }
|
||||||
{ T{ key-down f f "BACKSPACE" } [ cpu>> coin-down ] }
|
{ T{ key-down f f "BACKSPACE" } [ cpu>> coin-down ] }
|
||||||
{ T{ key-up f f "BACKSPACE" } [ cpu>> coin-up ] }
|
{ T{ key-up f f "BACKSPACE" } [ cpu>> coin-up ] }
|
||||||
{ T{ key-down f f "1" } [ cpu>> player1-down ] }
|
{ T{ key-down f f "1" } [ cpu>> player1-down ] }
|
||||||
|
@ -386,17 +386,18 @@ M: invaders-gadget ungraft* ( gadget -- )
|
||||||
t swap (>>quit?) ;
|
t swap (>>quit?) ;
|
||||||
|
|
||||||
: (run) ( title cpu rom-info -- )
|
: (run) ( title cpu rom-info -- )
|
||||||
over load-rom* <invaders-gadget> swap open-window ;
|
over load-rom* <invaders-gadget> t >>windowed? swap open-window ;
|
||||||
|
|
||||||
: run ( -- )
|
CONSTANT: rom-info {
|
||||||
[
|
|
||||||
"Space Invaders" <space-invaders> {
|
|
||||||
{ HEX: 0000 "invaders/invaders.h" }
|
{ HEX: 0000 "invaders/invaders.h" }
|
||||||
{ HEX: 0800 "invaders/invaders.g" }
|
{ HEX: 0800 "invaders/invaders.g" }
|
||||||
{ HEX: 1000 "invaders/invaders.f" }
|
{ HEX: 1000 "invaders/invaders.f" }
|
||||||
{ HEX: 1800 "invaders/invaders.e" }
|
{ HEX: 1800 "invaders/invaders.e" }
|
||||||
}
|
}
|
||||||
(run)
|
|
||||||
|
: run ( -- )
|
||||||
|
[
|
||||||
|
"Space Invaders" <space-invaders> rom-info (run)
|
||||||
] with-ui ;
|
] with-ui ;
|
||||||
|
|
||||||
MAIN: run
|
MAIN: run
|
||||||
|
|
Loading…
Reference in New Issue