projects
/
mudsync.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rearchitect so that the world can init with a game-spec, not just a room-spec
[mudsync.git]
/
mudsync
/
room.scm
diff --git
a/mudsync/room.scm
b/mudsync/room.scm
index 2e1b99fcdf1d8f94e4712e36736db572e42bb7e3..56c5a5922751a71bb209e92bef8a8f8e9ff3ee1f 100644
(file)
--- a/
mudsync/room.scm
+++ b/
mudsync/room.scm
@@
-75,6
+75,7
@@
(define room-actions
(build-actions
;; desc == description
(define room-actions
(build-actions
;; desc == description
+ (init (wrap-apply room-init))
(wire-exits! (wrap-apply room-wire-exits!))
(cmd-go (wrap-apply room-cmd-go))
(cmd-go-where (wrap-apply room-cmd-go-where))
(wire-exits! (wrap-apply room-wire-exits!))
(cmd-go (wrap-apply room-cmd-go))
(cmd-go-where (wrap-apply room-cmd-go-where))
@@
-101,15
+102,17
@@
;; @@: Can remove this indirection once things settle
#:init-value (wrap-apply room-action-dispatch)))
;; @@: Can remove this indirection once things settle
#:init-value (wrap-apply room-action-dispatch)))
+(define (room-init room message)
+ (room-wire-exits! room))
-(define (room-wire-exits! room
message
)
+(define (room-wire-exits! room)
"Actually hook up the rooms' exit addresses to the rooms they
claim to point to."
(for-each
(lambda (exit)
(define new-exit
(message-ref
"Actually hook up the rooms' exit addresses to the rooms they
claim to point to."
(for-each
(lambda (exit)
(define new-exit
(message-ref
- (<-wait room (gameobj-gm room) 'lookup-
room
+ (<-wait room (gameobj-gm room) 'lookup-
special
#:symbol (slot-ref exit 'to-symbol))
'room-id))
#:symbol (slot-ref exit 'to-symbol))
'room-id))