space-invaders: added graft* and ungraft* methods
This starts and stops the process when the space invaders window is created/removed. It also allows space invaders to survive an image save.
parent
89fbc32ef3
commit
f30ca40edc
|
@ -314,7 +314,13 @@ M: space-invaders update-video ( value addr cpu -- )
|
||||||
invaders-process
|
invaders-process
|
||||||
] unless ;
|
] unless ;
|
||||||
|
|
||||||
|
M: invaders-gadget graft* ( gadget -- )
|
||||||
|
[ f swap set-invaders-gadget-quit? ] keep
|
||||||
|
[ millis swap invaders-process ] spawn 2drop ;
|
||||||
|
|
||||||
|
M: invaders-gadget ungraft* ( gadget -- )
|
||||||
|
t swap set-invaders-gadget-quit? ;
|
||||||
|
|
||||||
: run ( -- gadget )
|
: run ( -- gadget )
|
||||||
<space-invaders> "invaders.rom" over load-rom <invaders-gadget>
|
<space-invaders> "invaders.rom" over load-rom <invaders-gadget>
|
||||||
[ "Space Invaders" open-titled-window ] keep
|
[ "Space Invaders" open-titled-window ] keep ;
|
||||||
[ millis swap invaders-process ] spawn drop ;
|
|
||||||
|
|
Loading…
Reference in New Issue