switch room "tell" to not use string-apend
[mudsync.git] / mudsync / game-master.scm
index b11d21cff800e1955a730c97e196c13b55ca8c2d..4576de31146cf54c33d9f64c56e195f27389ad16 100644 (file)
    (match-lambda
      ((special-obj . loc)
       (if loc
-          (<-wait gm special-obj 'set-loc!
+          (<-wait special-obj 'set-loc!
                   #:loc (hash-ref (gm-special-dir gm) loc)))))
    set-locs)
 
   (for-each
    (lambda (special-obj)
      (format #t "Initializing ~s...\n" (address->string special-obj))
-     (<-wait gm special-obj 'init))
+     (<-wait special-obj 'init))
    specials))
 
 
                        #:send-input-to (actor-id gm)))
 
   ;; TODO: Add host and port options
-  (<-wait gm (gm-network-manager gm) 'start-listening))
+  (<-wait (gm-network-manager gm) 'start-listening))
 
 (define (gm-setup-database gm)
   'TODO)
   ;; debugging
   (format #t "DEBUG: From ~s: ~s\n" client data)
 
-  (<- actor player 'handle-input
+  (<- player 'handle-input
       #:input data))
 
 (define* (gm-lookup-special actor message #:key symbol)
-  (<-reply actor message (hash-ref (slot-ref actor 'special-dir) symbol)))
+  (<-reply message (hash-ref (slot-ref actor 'special-dir) symbol)))
 
 (define* (gm-write-home actor message #:key text)
   (define client-id (hash-ref (gm-reverse-client-dir actor)
                               (message-from message)))
-  (<- actor (gm-network-manager actor) 'send-to-client
+  (<- (gm-network-manager actor) 'send-to-client
       #:client client-id
       #:data text))
 
   ;; room, if we have one.
   ;; (In some games, if the user never connected)
   (when actor-id
-    (<-wait gm actor-id 'disconnect-self-destruct)
+    (<-wait actor-id 'disconnect-self-destruct)
     ;; Unregister from the client directories.
     (gm-unregister-client! gm client)))
 
@@ -192,19 +192,19 @@ using the gameobj-spec."
                    #:gm (actor-id gm)
                    args)))
        ;; Set the location
-       (<-wait gm special-obj 'set-loc!
-                  #:loc (hash-ref (gm-special-dir gm) loc))
+       (<-wait special-obj 'set-loc!
+               #:loc (hash-ref (gm-special-dir gm) loc))
        ;; Initialize the object, and depending on if an object
        ;; already exists with this info, ask it to coordinate
        ;; replacing with the existing object.
        (if existing-obj
-           (<-wait gm special-obj 'init #:replace existing-obj)
-           (<-wait gm special-obj 'init))
+           (<-wait special-obj 'init #:replace existing-obj)
+           (<-wait special-obj 'init))
        ;; Register the object
        (hash-set! (gm-special-dir gm) symbol special-obj)
        ;; Destroy the original, if it exists.
        (if existing-obj
-           (<- gm existing-obj 'self-destruct #:why 'replaced))))))
+           (<- existing-obj 'self-destruct #:why 'replaced))))))
 
 ;;; GM utilities
 
@@ -220,7 +220,7 @@ using the gameobj-spec."
      (hash-remove! (gm-reverse-client-dir gm) client-id)
      ;; Destroy player 
      (if destroy-player
-         (<- gm player-id 'self-destruct)))
+         (<- player-id 'self-destruct)))
     (#f (throw 'no-client-to-unregister
                "Can't unregister a client that doesn't exist?"
                client-id))))
@@ -246,10 +246,10 @@ with an anonymous persona"
         ;; Register the player in our database of players -> connections
         (gm-register-client! gm client-id player)
         ;; Dump the player into the default room
-        (<-wait gm player 'set-loc! #:loc room-id)
+        (<-wait player 'set-loc! #:loc room-id)
         ;; Initialize the player
-        (<-wait gm player 'init)
-        (<- gm room-id 'tell-room
+        (<-wait player 'init)
+        (<- room-id 'tell-room
             #:text (format #f "You see ~a materialize out of thin air!\n"
                            guest-name)
             #:exclude player)))))