Fixed packet types.

This commit is contained in:
lotodore
2007-10-12 19:34:39 +00:00
parent 56722c3da6
commit 78af20482e
+72 -37
View File
@@ -50,37 +50,49 @@
(define pkth-version-major 2) (define pkth-version-major 2)
(define pkth-version-minor 0) (define pkth-version-minor 0)
;;; PokerTH game version
(define pkth-game-version #x0006)
(define pkth-beta-revision #x0000)
(define pkth-type-init #x0001) (define pkth-type-init #x0001)
(define pkth-type-init-ack #x0002) (define pkth-type-init-ack #x0002)
(define pkth-type-game-list-new #x0003) (define pkth-type-retrieve-avatar #x0003)
(define pkth-type-game-list-update #x0004) (define pkth-type-avatar-header #x0004)
(define pkth-type-game-list-player-joined #x0005) (define pkth-type-avatar-file #x0005)
(define pkth-type-game-list-player-left #x0006) (define pkth-type-avatar-end #x0006)
(define pkth-type-retrieve-player-info #x0007) (define pkth-type-unknown-avatar #x0007)
(define pkth-type-player-info #x0008) (define pkth-type-game-list-new #x0010)
(define pkth-type-create-game #x0009) (define pkth-type-game-list-update #x0011)
(define pkth-type-join-game #x000A) (define pkth-type-game-list-player-joined #x0012)
(define pkth-type-join-game-ack #x000B) (define pkth-type-game-list-player-left #x0013)
(define pkth-type-join-game-failed #x000C) (define pkth-type-game-list-admin-changed #x0014)
(define pkth-type-player-joined #x000D) (define pkth-type-retrieve-player-info #x0020)
(define pkth-type-player-left #x000E) (define pkth-type-player-info #x0021)
(define pkth-type-game-admin-changed #x000F) (define pkth-type-unknown-player-id #x0022)
(define pkth-type-kick-player #x0010) (define pkth-type-create-game #x0030)
(define pkth-type-leave-current-game #x0011) (define pkth-type-join-game #x0031)
(define pkth-type-start-event #x0012) (define pkth-type-join-game-ack #x0032)
(define pkth-type-game-start #x0013) (define pkth-type-join-game-failed #x0033)
(define pkth-type-hand-start #x0014) (define pkth-type-player-joined #x0034)
(define pkth-type-players-turn #x0015) (define pkth-type-player-left #x0035)
(define pkth-type-players-action #x0016) (define pkth-type-game-admin-changed #x0036)
(define pkth-type-players-action-done #x0017) (define pkth-type-kick-player #x0040)
(define pkth-type-players-action-rejected #x0018) (define pkth-type-leave-current-game #x0041)
(define pkth-type-deal-flop-cards #x0019) (define pkth-type-start-event #x0042)
(define pkth-type-deal-turn-card #x001A) (define pkth-type-start-event-ack #x0043)
(define pkth-type-deal-river-card #x001B) (define pkth-type-game-start #x0050)
(define pkth-type-all-in-show-cards #x001C) (define pkth-type-hand-start #x0051)
(define pkth-type-end-of-hand-show-cards #x001D) (define pkth-type-players-turn #x0052)
(define pkth-type-end-of-hand-hide-cards #x001E) (define pkth-type-players-action #x0053)
(define pkth-type-end-of-game #x001F) (define pkth-type-players-action-done #x0054)
(define pkth-type-players-action-rejected #x0055)
(define pkth-type-deal-flop-cards #x0060)
(define pkth-type-deal-turn-card #x0061)
(define pkth-type-deal-river-card #x0062)
(define pkth-type-all-in-show-cards #x0063)
(define pkth-type-end-of-hand-show-cards #x0064)
(define pkth-type-end-of-hand-hide-cards #x0065)
(define pkth-type-end-of-game #x0070)
(define pkth-type-removed-from-game #x0100) (define pkth-type-removed-from-game #x0100)
@@ -118,6 +130,10 @@
(define pkth-err-init-invalid-password #x0004) (define pkth-err-init-invalid-password #x0004)
(define pkth-err-init-player-name-in-use #x0005) (define pkth-err-init-player-name-in-use #x0005)
(define pkth-err-init-invalid-player-name #x0006) (define pkth-err-init-invalid-player-name #x0006)
(define pkth-err-init-server-maintenance #x0007)
(define pkth-err-avatar-too-large #x0010)
(define pkth-err-avatar-wrong-size #x0011)
(define pkth-err-join-game-unknown-game #x0020)
(define pkth-err-general-invalid-packet #xFF01) (define pkth-err-general-invalid-packet #xFF01)
(define pkth-err-general-invalid-state #xFF02) (define pkth-err-general-invalid-state #xFF02)
(define pkth-err-general-player-kicked #xFF03) (define pkth-err-general-player-kicked #xFF03)
@@ -159,12 +175,14 @@
(define pkth-init-offset-password (+ pkth-init-offset-avatar-md5 pkth-length-md5)) (define pkth-init-offset-password (+ pkth-init-offset-avatar-md5 pkth-length-md5))
;;; Value offsets pkth-type-init-ack ;;; Value offsets pkth-type-init-ack
(define pkth-init-ack-offset-session-id pkth-offset-data) (define pkth-init-ack-offset-game-version pkth-offset-data)
(define pkth-init-ack-offset-beta-revision (+ pkth-init-ack-offset-game-version pkth-length-version))
(define pkth-init-ack-offset-session-id (+ pkth-init-ack-offset-beta-revision pkth-length-version))
(define pkth-init-ack-offset-player-id (+ pkth-init-ack-offset-session-id pkth-length-session-id)) (define pkth-init-ack-offset-player-id (+ pkth-init-ack-offset-session-id pkth-length-session-id))
;;; Minimum/maximum packet length ;;; Minimum/maximum packet length
(define pkth-minimum-message-length 8) (define pkth-minimum-message-length 8)
(define pkth-maximum-message-length 264) (define pkth-maximum-message-length 268)
;;; ;;;
;;; Header constructors ;;; Header constructors
@@ -209,26 +227,44 @@
(append-padding (string->bytes password)) (append-padding (string->bytes password))
(append-padding (string->bytes player-name))))) (append-padding (string->bytes player-name)))))
(define (pkth-create-init privacy-flags avatar-md5 password player-name) (define (pkth-create-init avatar-md5 password player-name)
(pkth-create-init-ex pkth-version-major pkth-version-minor privacy-flags avatar-md5 password player-name)) (pkth-create-init-ex
pkth-version-major
pkth-version-minor
(if (null? avatar-md5) 0 pkth-privacy-flag-show-avatar)
avatar-md5
password
player-name))
#! #!
(pkth-create-init (pkth-create-init
pkth-privacy-flag-show-avatar
(pkth-create-md5 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16) (pkth-create-md5 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16)
"" ""
"hallo") "hallo")
(pkth-create-init
'()
""
"hallo")
!# !#
(define (pkth-create-init-ack session-id player-id) (define (pkth-create-init-ack-ex game-version beta-revision session-id player-id)
(pkth-create-packet (pkth-create-packet
pkth-type-init-ack pkth-type-init-ack
(list (list
(uint16->bytes game-version)
(uint16->bytes beta-revision)
(uint32->bytes session-id) (uint32->bytes session-id)
(uint32->bytes player-id)))) (uint32->bytes player-id))))
(define (pkth-create-init-ack session-id player-id)
(pkth-create-init-ack-ex
pkth-game-version
pkth-beta-revision
session-id
player-id))
#! #!
(pkth-create-init-ack #x6666 #x8888) (pkth-create-init-ack #x66666666 #x88888888)
!# !#
(define pkth-assert-minimal-length (define pkth-assert-minimal-length
@@ -276,7 +312,6 @@
sock sock
(bytes->string (bytes->string
(pkth-create-init (pkth-create-init
pkth-privacy-flag-show-avatar
(pkth-create-md5 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16) (pkth-create-md5 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16)
"" ""
"hallo"))) "hallo")))