From 75389287540706a40c9761820524897c3fb7cf2a Mon Sep 17 00:00:00 2001 From: Doug Coleman Date: Tue, 16 Dec 2008 01:33:51 -0600 Subject: [PATCH] game-input doesnt need a backend, now loads dinput or iokit directly --- extra/game-input/backend/backend.factor | 21 ------------------- extra/game-input/backend/iokit/authors.txt | 1 - extra/game-input/backend/summary.txt | 1 - extra/game-input/backend/tags.txt | 1 - .../{backend => dinput}/authors.txt | 0 .../{backend => }/dinput/dinput.factor | 10 ++++----- .../dinput/keys-array/keys-array.factor | 2 +- .../{backend => }/dinput/summary.txt | 0 .../game-input/{backend => }/dinput/tags.txt | 0 extra/game-input/game-input.factor | 16 +++++++------- .../{backend/dinput => iokit}/authors.txt | 0 .../{backend => }/iokit/iokit.factor | 7 ++++--- .../{backend => }/iokit/summary.txt | 0 extra/game-input/{backend => }/iokit/tags.txt | 0 14 files changed, 18 insertions(+), 41 deletions(-) delete mode 100644 extra/game-input/backend/backend.factor delete mode 100644 extra/game-input/backend/iokit/authors.txt delete mode 100644 extra/game-input/backend/summary.txt delete mode 100755 extra/game-input/backend/tags.txt rename extra/game-input/{backend => dinput}/authors.txt (100%) mode change 100644 => 100755 rename extra/game-input/{backend => }/dinput/dinput.factor (98%) rename extra/game-input/{backend => }/dinput/keys-array/keys-array.factor (88%) rename extra/game-input/{backend => }/dinput/summary.txt (100%) rename extra/game-input/{backend => }/dinput/tags.txt (100%) rename extra/game-input/{backend/dinput => iokit}/authors.txt (100%) mode change 100755 => 100644 rename extra/game-input/{backend => }/iokit/iokit.factor (98%) rename extra/game-input/{backend => }/iokit/summary.txt (100%) rename extra/game-input/{backend => }/iokit/tags.txt (100%) diff --git a/extra/game-input/backend/backend.factor b/extra/game-input/backend/backend.factor deleted file mode 100644 index df61179da7..0000000000 --- a/extra/game-input/backend/backend.factor +++ /dev/null @@ -1,21 +0,0 @@ -USING: eval multiline system combinators ; -IN: game-input.backend - -STRING: set-backend-for-macosx -USING: namespaces parser game-input.backend.iokit ; -<< "game-input" (use+) >> -iokit-game-input-backend game-input-backend set-global -; - -STRING: set-backend-for-windows -USING: namespaces parser game-input.backend.dinput ; -<< "game-input" (use+) >> -dinput-game-input-backend game-input-backend set-global -; - -{ - { [ os macosx? ] [ set-backend-for-macosx eval ] } - { [ os windows? ] [ set-backend-for-windows eval ] } - { [ t ] [ ] } -} cond - diff --git a/extra/game-input/backend/iokit/authors.txt b/extra/game-input/backend/iokit/authors.txt deleted file mode 100644 index f13c9c1e77..0000000000 --- a/extra/game-input/backend/iokit/authors.txt +++ /dev/null @@ -1 +0,0 @@ -Joe Groff diff --git a/extra/game-input/backend/summary.txt b/extra/game-input/backend/summary.txt deleted file mode 100644 index 6a77f8e1e0..0000000000 --- a/extra/game-input/backend/summary.txt +++ /dev/null @@ -1 +0,0 @@ -Platform-specific backends for game-input diff --git a/extra/game-input/backend/tags.txt b/extra/game-input/backend/tags.txt deleted file mode 100755 index 84d4140a70..0000000000 --- a/extra/game-input/backend/tags.txt +++ /dev/null @@ -1 +0,0 @@ -games diff --git a/extra/game-input/backend/authors.txt b/extra/game-input/dinput/authors.txt old mode 100644 new mode 100755 similarity index 100% rename from extra/game-input/backend/authors.txt rename to extra/game-input/dinput/authors.txt diff --git a/extra/game-input/backend/dinput/dinput.factor b/extra/game-input/dinput/dinput.factor similarity index 98% rename from extra/game-input/backend/dinput/dinput.factor rename to extra/game-input/dinput/dinput.factor index b66a722258..d89e23db2b 100755 --- a/extra/game-input/backend/dinput/dinput.factor +++ b/extra/game-input/dinput/dinput.factor @@ -1,16 +1,16 @@ USING: windows.dinput windows.dinput.constants parser symbols alien.c-types windows.ole32 namespaces assocs kernel arrays vectors windows.kernel32 windows.com windows.dinput shuffle -windows.user32 windows.messages sequences combinators +windows.user32 windows.messages sequences combinators locals math.geometry.rect ui.windows accessors math windows alien alien.strings io.encodings.utf16 io.encodings.utf16n -continuations byte-arrays locals -game-input.backend.dinput.keys-array ; -<< "game-input" (use+) >> -IN: game-input.backend.dinput +continuations byte-arrays game-input.dinput.keys-array ; +IN: game-input.dinput SINGLETON: dinput-game-input-backend +dinput-game-input-backend game-input-backend set-global + SYMBOLS: +dinput+ +keyboard-device+ +keyboard-state+ +controller-devices+ +controller-guids+ +device-change-window+ +device-change-handle+ ; diff --git a/extra/game-input/backend/dinput/keys-array/keys-array.factor b/extra/game-input/dinput/keys-array/keys-array.factor similarity index 88% rename from extra/game-input/backend/dinput/keys-array/keys-array.factor rename to extra/game-input/dinput/keys-array/keys-array.factor index b2dbe9ad93..12ad072449 100755 --- a/extra/game-input/backend/dinput/keys-array/keys-array.factor +++ b/extra/game-input/dinput/keys-array/keys-array.factor @@ -1,6 +1,6 @@ USING: sequences sequences.private math alien.c-types accessors ; -IN: game-input.backend.dinput.keys-array +IN: game-input.dinput.keys-array TUPLE: keys-array underlying ; C: keys-array diff --git a/extra/game-input/backend/dinput/summary.txt b/extra/game-input/dinput/summary.txt similarity index 100% rename from extra/game-input/backend/dinput/summary.txt rename to extra/game-input/dinput/summary.txt diff --git a/extra/game-input/backend/dinput/tags.txt b/extra/game-input/dinput/tags.txt similarity index 100% rename from extra/game-input/backend/dinput/tags.txt rename to extra/game-input/dinput/tags.txt diff --git a/extra/game-input/game-input.factor b/extra/game-input/game-input.factor index 18ec04df1f..7699b8bd1e 100755 --- a/extra/game-input/game-input.factor +++ b/extra/game-input/game-input.factor @@ -1,5 +1,6 @@ -USING: arrays accessors continuations kernel symbols -combinators.lib sequences namespaces init vocabs ; +USING: arrays accessors continuations kernel symbols system +combinators.lib sequences namespaces init vocabs vocabs.loader +combinators ; IN: game-input SYMBOLS: game-input-backend game-input-opened ; @@ -19,10 +20,6 @@ M: f (reset-game-input) ; game-input-opened off (reset-game-input) ; -: load-game-input-backend ( -- ) - game-input-backend get - [ "game-input.backend" load-vocab drop ] unless ; - [ reset-game-input ] "game-input" add-init-hook PRIVATE> @@ -76,5 +73,8 @@ M: keyboard-state clone HOOK: read-keyboard game-input-backend ( -- keyboard-state ) -load-game-input-backend - +{ + { [ os windows? ] [ "game-input.dinput" require ] } + { [ os macosx? ] [ "game-input.iokit" require ] } + { [ t ] [ ] } +} cond diff --git a/extra/game-input/backend/dinput/authors.txt b/extra/game-input/iokit/authors.txt old mode 100755 new mode 100644 similarity index 100% rename from extra/game-input/backend/dinput/authors.txt rename to extra/game-input/iokit/authors.txt diff --git a/extra/game-input/backend/iokit/iokit.factor b/extra/game-input/iokit/iokit.factor similarity index 98% rename from extra/game-input/backend/iokit/iokit.factor rename to extra/game-input/iokit/iokit.factor index 5267dd6d6e..8bfce00fb0 100755 --- a/extra/game-input/backend/iokit/iokit.factor +++ b/extra/game-input/iokit/iokit.factor @@ -3,12 +3,13 @@ kernel cocoa.enumeration destructors math.parser cocoa.application sequences locals combinators.short-circuit threads symbols namespaces assocs vectors arrays combinators core-foundation.run-loop accessors sequences.private -alien.c-types math parser ; -<< "game-input" (use+) >> -IN: game-input.backend.iokit +alien.c-types math parser game-input ; +IN: game-input.iokit SINGLETON: iokit-game-input-backend +iokit-game-input-backend game-input-backend set-global + : hid-manager-matching ( matching-seq -- alien ) f 0 IOHIDManagerCreate [ swap >plist IOHIDManagerSetDeviceMatchingMultiple ] diff --git a/extra/game-input/backend/iokit/summary.txt b/extra/game-input/iokit/summary.txt similarity index 100% rename from extra/game-input/backend/iokit/summary.txt rename to extra/game-input/iokit/summary.txt diff --git a/extra/game-input/backend/iokit/tags.txt b/extra/game-input/iokit/tags.txt similarity index 100% rename from extra/game-input/backend/iokit/tags.txt rename to extra/game-input/iokit/tags.txt