#:use-module (mudsync game-master)
#:use-module (8sync)
#:use-module (8sync repl)
- #:use-module (8sync debug)
+ #:use-module (fibers conditions)
+ ;; #:use-module (8sync debug)
#:use-module (srfi srfi-1)
#:use-module (ice-9 receive)
#:use-module (ice-9 q)
;;; ==================
(define* (run-demo game-spec default-room #:key repl-server)
- (define hive (make-hive))
- (define new-conn-handler
- (make-default-room-conn-handler default-room))
- (define gm
- (bootstrap-actor-gimmie* hive <game-master> "gm"
- #:new-conn-handler new-conn-handler))
- (define injector
- (bootstrap-actor hive <gameobj-injector>
- #:gm (actor-id gm)))
+ (run-hive
+ (lambda (hive)
+ (define new-conn-handler
+ (make-default-room-conn-handler default-room))
+ (define gm
+ ;; (bootstrap-actor-gimmie* hive <game-master> "gm"
+ ;; #:new-conn-handler new-conn-handler)
+ (create-actor* <game-master> "gm"
+ #:new-conn-handler new-conn-handler))
+ (define injector
+ (create-actor <gameobj-injector>
+ #:gm gm))
- (define repl-manager
- (bootstrap-actor* hive <repl-manager> "repl"
+ (define repl-manager
+ (create-actor* <repl-manager> "repl"
#:subscribers (list injector)))
- (set! %live-gm gm)
- (set! %live-hive hive)
+ ;; (set! %live-gm gm)
+ (set! %live-hive hive)
- (set! %inject-queue (make-q))
+ (set! %inject-queue (make-q))
- (run-hive hive
- (list (bootstrap-message hive (actor-id gm) 'init-world
- #:game-spec game-spec))))
+ (<- gm 'init-world
+ #:game-spec game-spec)
+ ;; (run-hive hive
+ ;; (list (bootstrap-message hive (actor-id gm) 'init-world
+ ;; #:game-spec game-spec)))
+ (wait (make-condition)))
+ ;; Just for testing / for now...
+ #:parallelism 1))