Documentation
¶
Index ¶
- Constants
- Variables
- type AchievementProgress
- type ChatMessage
- type Client00FE
- type Client001A
- type Client0088
- type ClientAssistModeToggle
- type ClientAuth
- type ClientBuyItem
- type ClientEquipmentUpdate
- type ClientEventLobbyJoin
- type ClientEventLobbyLeave
- type ClientException
- type ClientFirstShotReady
- type ClientGameEnd
- type ClientGetUserData
- type ClientGetUserOnlineStatus
- type ClientHoleEnd
- type ClientJoinChannel
- type ClientLoadProgress
- type ClientMessage
- type ClientMessageSend
- type ClientMessage_
- type ClientMultiplayerJoin
- type ClientMultiplayerLeave
- type ClientPauseGame
- type ClientPlayerReady
- type ClientPlayerStartGame
- type ClientReadyStartHole
- type ClientRequestDailyReward
- type ClientRequestInboxList
- type ClientRequestInboxMessage
- type ClientRequestMessengerList
- type ClientRequestPlayerHistory
- type ClientRequestServerList
- type ClientRoomCreate
- type ClientRoomEdit
- type ClientRoomInfo
- type ClientRoomJoin
- type ClientRoomKick
- type ClientRoomLeave
- type ClientRoomLoungeAction
- type ClientRoomSync
- type ClientRoomUserEquipmentChange
- type ClientSetIdleStatus
- type ClientShopJoin
- type ClientShotActiveUserAcknowledge
- type ClientShotArrow
- type ClientShotClubChange
- type ClientShotCometRelief
- type ClientShotCommit
- type ClientShotItemUse
- type ClientShotMeterInput
- type ClientShotPower
- type ClientShotRotate
- type ClientShotSync
- type ClientTutorialClear
- type ClientTutorialStart
- type ClientUserMacrosSet
- type ClientUserTypingIndicator
- type ConnectMessage
- type EventType
- type GameEnd
- type GameInitFull
- type GameInitMinimal
- type GameInitType
- type GamePlayer
- type HoleInfo
- type InboxMessage
- type ListType
- type MailMessage
- type MessageAttachment
- type MoneyUpdateType
- type PlayerGameResult
- type PlayerMainData
- type PurchaseItem
- type RecentPlayer
- type RoomCensusListAdd
- type RoomCensusListChange
- type RoomCensusListRemove
- type RoomCensusListSet
- type RoomListRoom
- type Server01F6
- type Server004E
- type Server016A
- type Server0077
- type Server0151
- type Server0230
- type Server0231
- type ServerAchievementProgress
- type ServerAssistModeToggled
- type ServerChannelList
- type ServerCharData
- type ServerConn
- type ServerEvent
- type ServerEventLobbyJoined
- type ServerEventLobbyLeft
- type ServerGameInit
- type ServerInboxList
- type ServerInboxNotify
- type ServerLoginBonusStatus
- type ServerMailMessage
- type ServerMessage
- type ServerMessageConnect
- type ServerMessage_
- type ServerMoneyUpdate
- type ServerMultiplayerJoined
- type ServerMultiplayerLeft
- type ServerOpponentQuit
- type ServerPangPurchaseData
- type ServerPlayerFirstShotReady
- type ServerPlayerHistory
- type ServerPlayerID
- type ServerPlayerLoadProgress
- type ServerPlayerReady
- type ServerPlayerStats
- type ServerRoomAction
- type ServerRoomActiveUserAnnounce
- type ServerRoomCensus
- type ServerRoomClubChangeAnnounce
- type ServerRoomEquipmentData
- type ServerRoomFinishGame
- type ServerRoomFinishHole
- type ServerRoomGameData
- type ServerRoomInfoResponse
- type ServerRoomItemUseAnnounce
- type ServerRoomJoin
- type ServerRoomLeave
- type ServerRoomList
- type ServerRoomSetWeather
- type ServerRoomSetWind
- type ServerRoomShotAnnounce
- type ServerRoomShotCometReliefAnnounce
- type ServerRoomShotEnd
- type ServerRoomShotPowerAnnounce
- type ServerRoomShotRotateAnnounce
- type ServerRoomShotSync
- type ServerRoomStartHole
- type ServerRoomStatus
- type ServerRoomUserTypingAnnounce
- type ServerTutorialStatus
- type ServerUserCensus
- type ServerUserData
- type ServerUserInfo
- type ServerUserStatusUpdate
- type SyncEntry
- type UpdateCaddie
- type UpdateCharacter
- type UpdateComet
- type UpdateConsumables
- type UpdateDecoration
- type UpdatePangBalanceData
- type UpdateRewardUnknownData
- type UpdateUnknown1
- type UpdateUnknown2
- type UserCensusType
- type UserStatusChange
- type UserStatusChange204
- type UserStatusChangeMastery
- type UserStatusChangeValue
Constants ¶
const ( ChatMessageEvent = 0 GameEndEvent = 16 )
const ( GameInitTypeFull = 0 GameInitTypeMinimal = 4 )
const CensusMaxUsers = 36
Variables ¶
var ClientMessageTable = common.NewMessageTable(map[uint16]ClientMessage{ 0x0002: &ClientAuth{}, 0x0003: &ClientMessageSend{}, 0x0004: &ClientJoinChannel{}, 0x0006: &ClientGameEnd{}, 0x0007: &ClientGetUserOnlineStatus{}, 0x0008: &ClientRoomCreate{}, 0x0009: &ClientRoomJoin{}, 0x000A: &ClientRoomEdit{}, 0x000B: &ClientTutorialStart{}, 0x000C: &ClientRoomUserEquipmentChange{}, 0x000D: &ClientPlayerReady{}, 0x000E: &ClientPlayerStartGame{}, 0x000F: &ClientRoomLeave{}, 0x0011: &ClientReadyStartHole{}, 0x0012: &ClientShotCommit{}, 0x0013: &ClientShotRotate{}, 0x0014: &ClientShotMeterInput{}, 0x0015: &ClientShotPower{}, 0x0016: &ClientShotClubChange{}, 0x0017: &ClientShotItemUse{}, 0x0018: &ClientUserTypingIndicator{}, 0x0019: &ClientShotCometRelief{}, 0x001A: &Client001A{}, 0x001B: &ClientShotSync{}, 0x001C: &ClientRoomSync{}, 0x001D: &ClientBuyItem{}, 0x0020: &ClientEquipmentUpdate{}, 0x0022: &ClientShotActiveUserAcknowledge{}, 0x0026: &ClientRoomKick{}, 0x002D: &ClientRoomInfo{}, 0x002F: &ClientGetUserData{}, 0x0030: &ClientPauseGame{}, 0x0031: &ClientHoleEnd{}, 0x0032: &ClientSetIdleStatus{}, 0x0033: &ClientException{}, 0x0034: &ClientFirstShotReady{}, 0x0042: &ClientShotArrow{}, 0x0043: &ClientRequestServerList{}, 0x0048: &ClientLoadProgress{}, 0x0063: &ClientRoomLoungeAction{}, 0x0069: &ClientUserMacrosSet{}, 0x0081: &ClientMultiplayerJoin{}, 0x0082: &ClientMultiplayerLeave{}, 0x0088: &Client0088{}, 0x008B: &ClientRequestMessengerList{}, 0x009C: &ClientRequestPlayerHistory{}, 0x00AE: &ClientTutorialClear{}, 0x00FE: &Client00FE{}, 0x0140: &ClientShopJoin{}, 0x0143: &ClientRequestInboxList{}, 0x0144: &ClientRequestInboxMessage{}, 0x016E: &ClientRequestDailyReward{}, 0x0176: &ClientEventLobbyJoin{}, 0x0177: &ClientEventLobbyLeave{}, 0x0184: &ClientAssistModeToggle{}, })
var ServerMessageTable = common.NewMessageTable(map[uint16]ServerMessage{ 0x0040: &ServerEvent{}, 0x0044: &ServerUserData{}, 0x0046: &ServerUserCensus{}, 0x0047: &ServerRoomList{}, 0x0048: &ServerRoomCensus{}, 0x0049: &ServerRoomJoin{}, 0x004A: &ServerRoomStatus{}, 0x004B: &ServerRoomEquipmentData{}, 0x004C: &ServerRoomLeave{}, 0x004E: &Server004E{}, 0x0052: &ServerRoomGameData{}, 0x0053: &ServerRoomStartHole{}, 0x0055: &ServerRoomShotAnnounce{}, 0x0056: &ServerRoomShotRotateAnnounce{}, 0x0058: &ServerRoomShotPowerAnnounce{}, 0x0059: &ServerRoomClubChangeAnnounce{}, 0x005A: &ServerRoomItemUseAnnounce{}, 0x005B: &ServerRoomSetWind{}, 0x005D: &ServerRoomUserTypingAnnounce{}, 0x0060: &ServerRoomShotCometReliefAnnounce{}, 0x0063: &ServerRoomActiveUserAnnounce{}, 0x0064: &ServerRoomShotSync{}, 0x0065: &ServerRoomFinishHole{}, 0x0066: &ServerRoomFinishGame{}, 0x0070: &ServerCharData{}, 0x0076: &ServerGameInit{}, 0x0077: &Server0077{}, 0x0078: &ServerPlayerReady{}, 0x0086: &ServerRoomInfoResponse{}, 0x0090: &ServerPlayerFirstShotReady{}, 0x0092: &ServerOpponentQuit{}, 0x0095: &ServerMoneyUpdate{}, 0x009E: &ServerRoomSetWeather{}, 0x009F: &ServerChannelList{}, 0x00A1: &ServerUserInfo{}, 0x00A3: &ServerPlayerLoadProgress{}, 0x00C4: &ServerRoomAction{}, 0x00C8: &ServerPangPurchaseData{}, 0x00CC: &ServerRoomShotEnd{}, 0x00F1: &ServerMessageConnect{}, 0x00F5: &ServerMultiplayerJoined{}, 0x00F6: &ServerMultiplayerLeft{}, 0x010E: &ServerPlayerHistory{}, 0x011F: &ServerTutorialStatus{}, 0x0151: &Server0151{}, 0x0158: &ServerPlayerStats{}, 0x016A: &Server016A{}, 0x01F6: &Server01F6{}, 0x0210: &ServerInboxNotify{}, 0x0211: &ServerInboxList{}, 0x0212: &ServerMailMessage{}, 0x0216: &ServerUserStatusUpdate{}, 0x021D: &ServerAchievementProgress{}, 0x0230: &Server0230{}, 0x0231: &Server0231{}, 0x0248: &ServerLoginBonusStatus{}, 0x0250: &ServerEventLobbyJoined{}, 0x0251: &ServerEventLobbyLeft{}, 0x026A: &ServerAssistModeToggled{}, })
Functions ¶
This section is empty.
Types ¶
type AchievementProgress ¶
type ChatMessage ¶
ChatMessage contains a global chat message
type Client00FE ¶
type Client00FE struct {
ClientMessage_
}
type Client001A ¶
type Client001A struct {
ClientMessage_
}
type ClientAssistModeToggle ¶
type ClientAssistModeToggle struct {
ClientMessage_
}
ClientAssistModeToggle is sent when assist mode is toggled.
type ClientAuth ¶
type ClientAuth struct {
ClientMessage_
Username common.PString
Unknown1 uint32
Unknown2 uint32
Unknown3 uint16
LoginKey common.PString
Version common.PString
}
ClientAuth is a message sent to authenticate a session.
type ClientBuyItem ¶
type ClientBuyItem struct {
ClientMessage_
Unknown1 byte
NumItems uint16 `struct:"sizeof=Items"`
Items []PurchaseItem
}
ClientBuyItem is sent by the client to buy an item from the shop.
type ClientEquipmentUpdate ¶
type ClientEquipmentUpdate struct {
ClientMessage_
Type uint8
Caddie *UpdateCaddie `struct-if:"Type == 1"`
Consumables *UpdateConsumables `struct-if:"Type == 2"`
Comet *UpdateComet `struct-if:"Type == 3"`
Decoration *UpdateDecoration `struct-if:"Type == 4"`
Character *UpdateCharacter `struct-if:"Type == 5"`
Unknown1 *UpdateUnknown1 `struct-if:"Type == 8"`
Unknown2 *UpdateUnknown2 `struct-if:"Type == 9"`
}
ClientEquipmentUpdate updates the user's equipment.
type ClientEventLobbyJoin ¶
type ClientEventLobbyJoin struct {
ClientMessage_
}
ClientEventLobbyJoin is the message sent when joining the event lobby.
type ClientEventLobbyLeave ¶
type ClientEventLobbyLeave struct {
ClientMessage_
}
ClientEventLobbyLeave is sent when the client exits the event lobby.
type ClientException ¶
type ClientException struct {
ClientMessage_
Empty byte
Message common.PString
}
ClientException is a message sent when the client encounters an error.
type ClientFirstShotReady ¶
type ClientFirstShotReady struct {
ClientMessage_
}
type ClientGameEnd ¶
type ClientGameEnd struct {
ClientMessage_
}
ClientGameEnd contains information after the end of a game.
type ClientGetUserData ¶
type ClientGetUserData struct {
ClientMessage_
UserID uint32
Request byte
}
ClientGetUserData is a message sent by the client to request the client state.
type ClientGetUserOnlineStatus ¶
type ClientGetUserOnlineStatus struct {
ClientMessage_
Unknown uint8
Username common.PString
}
ClientGetUserOnlineStatus is sent to get information of a user.
type ClientHoleEnd ¶
type ClientHoleEnd struct {
ClientMessage_
}
type ClientJoinChannel ¶
type ClientJoinChannel struct {
ClientMessage_
ChannelID byte
}
ClientJoinChannel is a message sent when the client joins a channel.
type ClientLoadProgress ¶
type ClientLoadProgress struct {
ClientMessage_
Progress uint8
}
type ClientMessage ¶
type ClientMessageSend ¶
type ClientMessageSend struct {
ClientMessage_
Nickname common.PString
Message common.PString
}
ClientMessageSend is sent when the client sends a public chat message.
type ClientMessage_ ¶
type ClientMessage_ struct{}
type ClientMultiplayerJoin ¶
type ClientMultiplayerJoin struct {
ClientMessage_
}
ClientMultiplayerJoin is the message sent when joining multiplayer.
type ClientMultiplayerLeave ¶
type ClientMultiplayerLeave struct {
ClientMessage_
}
ClientMultiplayerLeave is sent when the client exits multiplayer mode.
type ClientPauseGame ¶
type ClientPauseGame struct {
ClientMessage_
Pause bool `struct:"byte"`
}
type ClientPlayerReady ¶
type ClientPlayerReady struct {
ClientMessage_
State byte
}
ClientPlayerReady is sent by the client when they are ready/to start the game.
type ClientPlayerStartGame ¶
type ClientPlayerStartGame struct {
ClientMessage_
Unknown uint32
}
ClientPlayerStartGame
type ClientReadyStartHole ¶
type ClientReadyStartHole struct {
ClientMessage_
}
type ClientRequestDailyReward ¶
type ClientRequestDailyReward struct {
ClientMessage_
}
ClientRequestDailyReward is the message sent to request the daily reward.
type ClientRequestInboxList ¶
type ClientRequestInboxList struct {
ClientMessage_
PageNum uint32
}
ClientRequestInboxList is the message sent to request the inbox.
type ClientRequestInboxMessage ¶
type ClientRequestInboxMessage struct {
ClientMessage_
MessageID uint32
}
ClientRequestInboxMessage is sent by the client to retrieve a message from the inbox.
type ClientRequestMessengerList ¶
type ClientRequestMessengerList struct {
ClientMessage_
}
ClientRequestMessengerList is a message sent to request the current list of message servers.
type ClientRequestPlayerHistory ¶
type ClientRequestPlayerHistory struct {
ClientMessage_
}
ClientRequestPlayerHistory is an unknown message.
type ClientRequestServerList ¶
type ClientRequestServerList struct {
ClientMessage_
}
ClientRequestServerList is a message sent to request the current list of game servers.
type ClientRoomCreate ¶
type ClientRoomCreate struct {
ClientMessage_
Unknown byte
ShotTimerMS uint32
GameTimerMS uint32
MaxUsers uint8
RoomType byte
NumHoles byte
Course byte
Unknown2 [5]byte
RoomName common.PString
Password common.PString
Unknown3 [4]byte
}
ClientRoomCreate is sent by the client when creating a room.
type ClientRoomEdit ¶
type ClientRoomEdit struct {
ClientMessage_
Unknown uint16
NumChanges uint8 `struct:"sizeof=Changes"`
Changes []gamemodel.RoomSettingsChange
}
ClientRoomEdit is sent when the client changes room settings.
type ClientRoomInfo ¶
type ClientRoomInfo struct {
ClientMessage_
RoomNumber uint16
}
type ClientRoomJoin ¶
type ClientRoomJoin struct {
ClientMessage_
RoomNumber int16
RoomPassword common.PString
}
ClientRoomJoin is sent by the client when joining a room.
type ClientRoomKick ¶
type ClientRoomKick struct {
ClientMessage_
ConnID uint32
}
type ClientRoomLeave ¶
type ClientRoomLeave struct {
ClientMessage_
Unknown byte
RoomNumber int16
Unknown2 uint32
Unknown3 uint32
Unknown4 uint32
Unknown5 uint32
}
ClientRoomLeave is sent by the client when leaving a room back to lobby
type ClientRoomLoungeAction ¶
type ClientRoomLoungeAction struct {
ClientMessage_
gamemodel.RoomAction
}
ClientRoomLoungeAction
type ClientRoomSync ¶
type ClientRoomSync struct {
ClientMessage_
Unknown1 uint8
EntryCount uint8
Entries []SyncEntry
}
type ClientRoomUserEquipmentChange ¶
type ClientRoomUserEquipmentChange struct {
ClientMessage_
}
ClientRoomUserEquipmentChange is sent when a user's equipment changes in a room.
type ClientSetIdleStatus ¶
type ClientSetIdleStatus struct {
ClientMessage_
Idle bool `struct:"byte"`
}
ClientSetIdleStatus sets whether or not the client is idle in a room.
type ClientShopJoin ¶
type ClientShopJoin struct {
ClientMessage_
}
ClientShopJoin is an unknown message.
type ClientShotActiveUserAcknowledge ¶
type ClientShotActiveUserAcknowledge struct {
ClientMessage_
}
type ClientShotArrow ¶
type ClientShotArrow struct {
ClientMessage_
}
type ClientShotClubChange ¶
type ClientShotClubChange struct {
ClientMessage_
Club uint8
}
type ClientShotCometRelief ¶
type ClientShotCometRelief struct {
ClientMessage_
X, Y, Z float32
}
type ClientShotCommit ¶
type ClientShotItemUse ¶
type ClientShotItemUse struct {
ClientMessage_
ItemTypeID uint32
}
type ClientShotMeterInput ¶
type ClientShotMeterInput struct {
ClientMessage_
Sequence uint8
Value float32
}
type ClientShotPower ¶
type ClientShotPower struct {
ClientMessage_
Level uint8
}
type ClientShotRotate ¶
type ClientShotRotate struct {
ClientMessage_
Angle float32
}
type ClientShotSync ¶
type ClientShotSync struct {
ClientMessage_
Data gamemodel.ShotSyncData
Unknown [16]byte
}
type ClientTutorialClear ¶
type ClientTutorialClear struct {
ClientMessage_
}
ClientTutorialClear is an unknown message.
type ClientTutorialStart ¶
type ClientTutorialStart struct {
ClientMessage_
}
ClientTutorialStart is sent when starting a tutorial.
type ClientUserMacrosSet ¶
type ClientUserMacrosSet struct {
ClientMessage_
MacroList pangya.MacroList
}
ClientUserMacrosSet is a message sent to set the user's macros.
type ClientUserTypingIndicator ¶
type ClientUserTypingIndicator struct {
ClientMessage_
Status int16 // 1 = started, -1 = stopped
}
type ConnectMessage ¶
ConnectMessage is the message sent upon connecting.
func (*ConnectMessage) SetKey ¶
func (c *ConnectMessage) SetKey(key uint8)
type GameInitFull ¶
type GameInitFull struct {
NumPlayers byte `struct:"sizeof=Players"`
Players []GamePlayer
}
type GameInitMinimal ¶
type GameInitMinimal struct {
Unknown uint32
Time pangya.SystemTime
}
type GameInitType ¶
type GameInitType byte
type GamePlayer ¶
type GamePlayer struct {
Number uint16
PlayerData pangya.PlayerData
StartTime pangya.SystemTime
NumCards uint8
}
type InboxMessage ¶
type MailMessage ¶
type MessageAttachment ¶
type MoneyUpdateType ¶
type MoneyUpdateType uint16
const ( MoneyUpdateRewardUnknown MoneyUpdateType = 2 MoneyUpdatePangBalance MoneyUpdateType = 273 )
type PlayerGameResult ¶
type PlayerMainData ¶
type PlayerMainData struct {
ClientVersion common.PString
ServerVersion common.PString
Game uint16
PlayerData pangya.PlayerData
Unknown2 [321]byte
}
PlayerMainData contains the main player information, sent after logging in.
type PurchaseItem ¶
type RecentPlayer ¶
type RoomCensusListAdd ¶
type RoomCensusListAdd struct {
User gamemodel.RoomPlayerEntry
}
type RoomCensusListChange ¶
type RoomCensusListChange struct {
ConnID uint32
User gamemodel.RoomPlayerEntry
}
type RoomCensusListRemove ¶
type RoomCensusListRemove struct {
ConnID uint32
}
type RoomCensusListSet ¶
type RoomCensusListSet struct {
PlayerCount uint8 `struct:"sizeof=PlayerList"`
PlayerList []gamemodel.RoomPlayerEntry
}
type RoomListRoom ¶
type RoomListRoom struct {
Name string `struct:"[64]byte"`
Public bool `struct:"byte"`
Open bool `struct:"uint16"`
UserMax uint8
UserCount uint8
Key [16]byte // Known thanks to SuperSS; XOR pad for shot sync data
Unknown3 uint8
Unknown4 uint8
NumHoles uint8
HoleProgression uint8
Number int16
Unknown5 uint8
Course uint8
ShotTimerMS uint32
GameTimerMS uint32
Flags uint32
Unknown6 [68]byte
Unknown7 uint32
Unknown8 uint32
OwnerID uint32
Class byte
ArtifactID uint32
Unknown9 uint32
EventNum uint32
EventNumTop uint32
EventShotTimerMS uint32
Unknown10 uint32
}
type Server01F6 ¶
type Server01F6 struct {
ServerMessage_
Unknown []byte
}
type Server004E ¶
type Server004E struct {
ServerMessage_
Unknown []byte
}
type Server016A ¶
type Server016A struct {
ServerMessage_
Unknown byte
Unknown2 uint32
}
type Server0077 ¶
type Server0077 struct {
ServerMessage_
Unknown uint32
}
type Server0151 ¶
type Server0151 struct {
ServerMessage_
Unknown []byte
}
type Server0230 ¶
type Server0230 struct {
ServerMessage_
}
type Server0231 ¶
type Server0231 struct {
ServerMessage_
}
type ServerAchievementProgress ¶
type ServerAchievementProgress struct {
ServerMessage_
Status uint32
Remaining uint32
Count uint32 `struct:"sizeof=Achievements"`
Achievements []AchievementProgress
}
type ServerAssistModeToggled ¶
type ServerAssistModeToggled struct {
ServerMessage_
Unknown uint32
}
type ServerChannelList ¶
type ServerChannelList struct {
ServerMessage_
Count byte `struct:"sizeof=Servers"`
Servers []pangya.ServerEntry
}
ServerChannelList is a message that contains a list of all of the channels for a given server. Channels are isolated game zones within a region.
type ServerCharData ¶
type ServerCharData struct {
ServerMessage_
Count1 uint16 `struct:"sizeof=Characters"`
Count2 uint16 `struct:"sizeof=Characters"`
Characters []pangya.PlayerCharacterData
}
ServerCharData contains the user's characters.
type ServerConn ¶
type ServerConn = common.ServerConn[ClientMessage, ServerMessage]
type ServerEvent ¶
type ServerEvent struct {
ServerMessage_
Type byte
Data ChatMessage
GameEnd *GameEnd `struct-if:"Type == 16"`
}
ServerEvent is a message that contains events.
type ServerEventLobbyJoined ¶
type ServerEventLobbyJoined struct {
ServerMessage_
}
type ServerEventLobbyLeft ¶
type ServerEventLobbyLeft struct {
ServerMessage_
}
type ServerGameInit ¶
type ServerGameInit struct {
ServerMessage_
SubType byte
Full *GameInitFull `struct-if:"SubType == 0"`
Minimal *GameInitMinimal `struct-if:"SubType == 4"`
}
type ServerInboxList ¶
type ServerInboxList struct {
ServerMessage_
Status uint32
PageNum uint32
NumPages uint32
NumMessages uint32 `struct:"sizeof=Messages"`
Messages []InboxMessage
}
type ServerInboxNotify ¶
type ServerInboxNotify struct {
ServerMessage_
Unknown []byte
}
ServerInboxNotify is unimplemented.
type ServerLoginBonusStatus ¶
type ServerLoginBonusStatus struct {
ServerMessage_
Unknown []byte
}
type ServerMailMessage ¶
type ServerMailMessage struct {
ServerMessage_
Status uint32
Message MailMessage
}
type ServerMessage ¶
type ServerMessageConnect ¶
type ServerMessageConnect struct {
ServerMessage_
Unknown byte
}
ServerMessageConnect seems to make the client connect to the message server. TODO: need to do more reverse engineering effort
type ServerMessage_ ¶
type ServerMessage_ struct{}
type ServerMoneyUpdate ¶
type ServerMoneyUpdate struct {
ServerMessage_
Type uint16
RewardUnknown *UpdateRewardUnknownData `struct-if:"Type == 2"`
PangBalance *UpdatePangBalanceData `struct-if:"Type == 273"`
}
type ServerMultiplayerJoined ¶
type ServerMultiplayerJoined struct {
ServerMessage_
}
type ServerMultiplayerLeft ¶
type ServerMultiplayerLeft struct {
ServerMessage_
}
type ServerOpponentQuit ¶
type ServerOpponentQuit struct {
ServerMessage_
}
type ServerPangPurchaseData ¶
type ServerPangPurchaseData struct {
ServerMessage_
PangsRemaining uint64
PangsSpent uint64
}
ServerPangPurchaseData is sent after a pang purchase succeeds.
type ServerPlayerFirstShotReady ¶
type ServerPlayerFirstShotReady struct {
ServerMessage_
}
type ServerPlayerHistory ¶
type ServerPlayerHistory struct {
ServerMessage_
RecentPlayers [5]RecentPlayer
}
type ServerPlayerID ¶
type ServerPlayerID struct {
ServerMessage_
Empty byte
PlayerID uint32
Unknown [239]byte
}
ServerPlayerID is a message that contains the PlayerID and some other unknown data.
type ServerPlayerLoadProgress ¶
type ServerPlayerLoadProgress struct {
ServerMessage_
ConnID uint32
Progress uint8
}
type ServerPlayerReady ¶
type ServerPlayerReady struct {
ServerMessage_
ConnID uint32
State byte
}
type ServerPlayerStats ¶
type ServerPlayerStats struct {
ServerMessage_
SessionID uint32
Unknown byte
Stats pangya.PlayerStats
}
type ServerRoomAction ¶
type ServerRoomAction struct {
ServerMessage_
ConnID uint32
gamemodel.RoomAction
}
type ServerRoomActiveUserAnnounce ¶
type ServerRoomActiveUserAnnounce struct {
ServerMessage_
ConnID uint32
}
type ServerRoomCensus ¶
type ServerRoomCensus struct {
ServerMessage_
Type byte
Unknown int16
ListSet *RoomCensusListSet `struct-if:"Type == 0"`
ListAdd *RoomCensusListAdd `struct-if:"Type == 1"`
ListRemove *RoomCensusListRemove `struct-if:"Type == 2"`
ListChange *RoomCensusListChange `struct-if:"Type == 3"`
}
ServerRoomCensus reports on the users in a game room.
type ServerRoomClubChangeAnnounce ¶
type ServerRoomClubChangeAnnounce struct {
ServerMessage_
ConnID uint32
Club uint8
}
type ServerRoomEquipmentData ¶
type ServerRoomEquipmentData struct {
ServerMessage_
Unknown []byte
}
type ServerRoomFinishGame ¶
type ServerRoomFinishGame struct {
ServerMessage_
NumPlayers uint8
Results []PlayerGameResult `struct:"sizefrom=NumPlayers"`
}
type ServerRoomFinishHole ¶
type ServerRoomFinishHole struct {
ServerMessage_
}
type ServerRoomGameData ¶
type ServerRoomInfoResponse ¶
type ServerRoomInfoResponse struct {
ServerMessage_
RoomInfo gamemodel.RoomInfo
}
type ServerRoomItemUseAnnounce ¶
type ServerRoomItemUseAnnounce struct {
ServerMessage_
ItemTypeID uint32
Unknown uint32
ConnID uint32
}
type ServerRoomJoin ¶
type ServerRoomJoin struct {
ServerMessage_
Status uint16
RoomName string `struct:"[64]byte"`
Unknown2 [25]byte
RoomNumber int16
Unknown3 [111]byte
EventNumber uint32
Unknown4 uint32
}
ServerRoomJoin is sent when a room is joined.
type ServerRoomLeave ¶
type ServerRoomLeave struct {
ServerMessage_
RoomNumber int16
}
type ServerRoomList ¶
type ServerRoomList struct {
ServerMessage_
Count uint8 `struct:"sizeof=RoomList"`
Type ListType
Unknown uint16
RoomList []RoomListRoom
}
ServerRoomList contains information about rooms currently open in multiplayer.
type ServerRoomSetWeather ¶
type ServerRoomSetWeather struct {
ServerMessage_
Weather uint16
Unknown uint8
}
type ServerRoomSetWind ¶
type ServerRoomSetWind struct {
ServerMessage_
Wind uint8
Unknown uint8
Unknown2 uint16
Reset bool `struct:"bool"`
}
type ServerRoomShotAnnounce ¶
type ServerRoomShotCometReliefAnnounce ¶
type ServerRoomShotCometReliefAnnounce struct {
ServerMessage_
ConnID uint32
X, Y, Z float32
}
type ServerRoomShotEnd ¶
type ServerRoomShotEnd struct {
ServerMessage_
ConnID uint32
}
type ServerRoomShotPowerAnnounce ¶
type ServerRoomShotPowerAnnounce struct {
ServerMessage_
ConnID uint32
Level uint8
}
type ServerRoomShotRotateAnnounce ¶
type ServerRoomShotRotateAnnounce struct {
ServerMessage_
ConnID uint32
Angle float32
}
type ServerRoomShotSync ¶
type ServerRoomShotSync struct {
ServerMessage_
Data gamemodel.ShotSyncData
}
type ServerRoomStartHole ¶
type ServerRoomStartHole struct {
ServerMessage_
ConnID uint32
}
type ServerRoomStatus ¶
type ServerRoomStatus struct {
ServerMessage_
Unknown uint16
RoomType byte
Course byte
NumHoles byte
HoleProgression byte
NaturalWind uint32
MaxUsers byte
Unknown2 uint16
ShotTimerMS uint32
GameTimerMS uint32
Flags uint32
Owner bool `struct:"byte"`
RoomName common.PString
}
ServerRoomStatus is sent when a room's settings or status changes.
type ServerRoomUserTypingAnnounce ¶
type ServerRoomUserTypingAnnounce struct {
ServerMessage_
ConnID uint32
Status int16
}
type ServerTutorialStatus ¶
type ServerTutorialStatus struct {
ServerMessage_
Unknown [6]byte
}
type ServerUserCensus ¶
type ServerUserCensus struct {
ServerMessage_
Type UserCensusType
Count uint8 `struct:"sizeof=PlayerList"`
PlayerList []gamemodel.LobbyPlayer
}
ServerUserCensus contains information about users currently online in multiplayer
type ServerUserData ¶
type ServerUserData struct {
ServerMessage_
SubType byte
MainData *PlayerMainData `struct-if:"SubType == 0"`
}
ServerUserData contains important state information.
type ServerUserInfo ¶
type ServerUserInfo struct {
ServerMessage_
ResponseCode uint8
PlayerID uint32
UserInfo pangya.PlayerInfo
}
ServerUserInfo contains requested user information.
type ServerUserStatusUpdate ¶
type ServerUserStatusUpdate struct {
ServerMessage_
DateTimeUnix uint32
Count uint32
Changes []UserStatusChange
}
type UpdateCaddie ¶
type UpdateCaddie struct {
CaddieID uint32
}
type UpdateCharacter ¶
type UpdateCharacter struct {
CharacterID uint32
}
type UpdateComet ¶
type UpdateComet struct {
ItemTypeID uint32
}
type UpdateConsumables ¶
type UpdateConsumables struct {
ItemTypeID [10]uint32
}
type UpdateDecoration ¶
type UpdatePangBalanceData ¶
type UpdateRewardUnknownData ¶
type UpdateRewardUnknownData struct {
Unknown uint16
}
type UpdateUnknown1 ¶
type UpdateUnknown1 struct {
Unknown uint32
}
type UpdateUnknown2 ¶
type UserCensusType ¶
type UserCensusType byte
UserCensusType enumerates the types of census messages.
const ( UserAdd UserCensusType = 1 UserChange UserCensusType = 2 UserRemove UserCensusType = 3 UserListSet UserCensusType = 4 UserListAppend UserCensusType = 5 )
type UserStatusChange ¶
type UserStatusChange struct {
StatusChangeType byte
Value *UserStatusChangeValue `struct-if:"StatusChangeType == 2"`
Mastery *UserStatusChangeMastery `struct-if:"StatusChangeType == 201"`
Unknown204 *UserStatusChange204 `struct-if:"StatusChangeType == 204"`
}
type UserStatusChange204 ¶
type UserStatusChange204 struct {
Unknown [72]byte
}